Jump to content
php.lv forumi

Recommended Posts

Posted

mans domāt, ka nevar.... vismaz ar standarta SQL...

Pagaidām nāk prātā viens risinājums, pielikt kolonnu order un selektēt, kur ordernum < 5

Posted

Neatceros īsti ar kuru versiju varēja apakškverijus taisīt, bet nu apmēram šādi:

SELECT t1.grupa, t3.xx FROM tabula t1, (SELECT t2.ieraksts AS xx FROM tabula t2 WHERE t2.grupa = t1.grupa ORDER BY id LIMIT 5) t3 ORDER BY grupa

Posted

Neiet. Parasti tika taisīts katrai grupai savs vaicājums, bet gribās visu vienā.

Bija doma tādu vaicājumu:

SELECT id,grupa,ierakstsFROM tabula v

WHERE id IN (SELECT id FROM tabula WHERE grupa=v.grupa LIMIT 5)

Bet 4.1 šādu vaicājumu neatbalsta.

Posted

vienā, vienīgi

select * from tabula order by grupa

un ar php atlasīt tos 5cus katrā grupā :)

 

bet ja nopietni, kas vainas vairākiem selectiem, vai arī jaunāka mysql lietošanai?

Posted (edited)

Itkā jau nav nekāds sarežģītais vaicājums.

 

Kā teikt parastākām lapām servera konfigurāciju neizvēlies, bet iemesls kā parasti vai 0.01 sekundi neiegūsim taisot tikai vienu vaicājumu.

 

v3rb0, ja daudz ierakstu, vai [select * from tabula order by grupa]

vietā nebūtu labak katrai grupai taisīt [select * from tabula where grupa=GRUPAS_NUMURS LIMIT 5] ?

Edited by Aleksandrs
Posted (edited)

kura nez būtu tā 'parastā' lapa (ar max 100 unikāliem apmeklējumiem 24trās stundās), kurai +/-0.01 secunde ir no svara?

 

var padomāt kko uz kešošanas pusi - vienreiz izselectē ar daudzajiem selectiem, tad sakešo - failā vai db, pēc tam ņem no kešas.

Edited by v3rb0
Posted

Nē nu jāskatās ko grib arī selektēt... es jau piedāvāju ieviest lauku OrderNum.. vai kādu citu, kas pasaka, ka konkrētu Item vajag rādīt iekš pirmajiem katrai grupai...

 

Vismaz Axaptā sales-web modulim tā ir.. imho, tad iegūsti 2 `zaķus` - gan kontroli (vienmēr zini, ka tiks parādīts tas, ko esi ielicis), + gan optimizācija (nevajag nekādu uber-kverijus)

×
×
  • Create New...