ugrás a tartalomhoz

Az időben leghamarabbi rekord lekérdezése SQL-ben

s_volenszki · 2006. Júl. 24. (H), 13.04
Sziasztok!

Hogyan lehet egy sql lekérdezést (php) úgy lefuttatni, hogy az azonos tartalmú rekordok közül csak az időben leghamarabbival térjen vissza?

id gyumolcs
1 alma
2 körte
3 alma
4 barack
5 alma

lekérdezés eredménye:

id gyumolcs
1 alma
2 körte
4 barack


Másképp kérdezem: lehet sql-lel úgy lekérdezni, hogy az eredmény olyan legyene, mintha kérdezés után tömbbe pumpálnám és arrayy_flippelném?

s_volenszki
 
1

limit

Táskai Zsolt · 2006. Júl. 24. (H), 13.24
a http://dev.mysql.com/doc/refman/5.0/en/select.html ír róla. a limit szóra keress az oldalon, példák is vannak.

ha jól értettem a kérdést, legalábbis.
5

tényleg túl gyorsan "olvastam"

Táskai Zsolt · 2006. Júl. 24. (H), 13.55
igazuk van a group by-os válaszoknak. viszont az "első" jelentheti a min és a first oszlopfüggvényt is. az alkalmazásnak megfelelően...
2

group by

Hojtsy Gábor · 2006. Júl. 24. (H), 13.39
A group by csoportosítja az azonos értékű elemeket, ha megadod, hogy a gyumolcs oszlop értékei szerint kívánod a csoportosítást, és csak egy sort fog visszaadni gyümölcsönként. A MIN() függvény pedig így már gyümölcsönként a legkisebb azonosítójút tudja visszaadni. Valami ilyesmi:
  1. SELECT MIN(id), gyumolcs FROM tabla GROUP BY gyumolcs  
3

GROUP BY

zsepi · 2006. Júl. 24. (H), 13.41
esetleg
  1. select gyumolcs, min(id) as min_id  
  2. from gyumolcsok  
  3. group by gyumolcs  
ui: ne írj ilyet, mint az idézett, vagy pontosabban!
egy sql lekérdezést (php)
4

group by

Rici · 2006. Júl. 24. (H), 13.43
Ha tényleg csak ez a két oszlopod van, akkor viszonylag egyszerűen megoldható:
  1. SELECT MIN(id) AS minid, gyumolcs FROM tabla GROUP BY gyumolcs ORDER BY minid