Bir çok kişide görülen soru şu;
"group by ile fieldi grupluyorum ve order by ile tersten sona listeliyorum yanliz şu şekilde bir problem var listelerken gruplanan fielde bagli ilk kayidi aliyor. yani username e gore gruplarsak bu kullanici 2004 yilinda ilk yazisini girmis 2007 de son yazisini girmis ama 2004 dekini baz alarak listeliyor. nasil cozum uretebilirim."
bu soruya karşı herkes binbirturlu akrobatliklarla yardimci olmaya calismis. yok efendim while icinde kontrol, tekrardan sorgu, array a yazdir kontrol et. gereksiz.
bu gibi durumlarda max tam bizim işimize göre. seçilen fielde bağlı en yüksek yani maximum kayidi getirecektir.
örneğin:
tablo makale
-id--yazar--veri
kayitlar
-1--caesar--ehe
-2--caesar--hoho
-3--yns--hobele
-4--savvy-yeap
-5--hunter-ok
-6--caesar-slm
-7--yns--hello world
-8--hunter-hypertext
sorgumuz:
plaın textphp:
$sorgu=mysql_query("select max(id) as id, yazar, text,count(id) as sayi from makale group by yazar order by id desc");
olsun. while icinde bu donguden yazar ,text ve sayiyi cektigimiz zaman sonu su olacaktir.
hunter - hypertext (2)
yns - hello world (2)
caesar - slm (3)
savvy - yeap (1)
bu sekilde son yani maximum kayit degerlerine göre verilen fieldden listeleme yapmis olacağız