$show=mysql_query("SELECT* from students Group by name desc ORDER BY id ASC LIMIT $baslangic,$limit"); Aynı İsimlere Ait En Son Eklenen Tek Veriyi Almak
40
●2.558
- 17-01-2009, 15:18:50Merhaba arkadaşlar şu an elimde editörüm yok ve deneyemiyorum istediğim şey students tablosuna eklenen aynı isimli verilerden en son ekleneni almak tablodaki bölüm name aşağıdaki kodu denedim fakat en son veriyi vermedi;
- 17-01-2009, 18:43:57Üyeliği durdurulduhocam bu işlem tek sorguda yapılamaz. önce tekrarlanan verileri alırsın. sonra bunları db de aratır id si en büyük olanı alırsın.
- 17-01-2009, 18:45:25Üyeliği durdurulduGroup by name (desc/asc) mysql 'de böle bişey maalesef yok... her zaman ilk eklenen gelecektir.
$show=mysql_query("SELECT* from students Group by name desc ORDER BY id ASC LIMIT $baslangic,$limit");
bunun yerine pear db kullanırım dersen dolaylı olarak çekerebilirsin
$arr = $db->getAssoc('SELECT name,... FROM students ORDER BY id ASC LIMIT 10',true,DB_FETCHMODE_ASSOC,true);
kolay gelsin...
- 17-01-2009, 18:48:01Örnekleme yapabilirmisiniz tek sorguda halledilebileceğine eminim ama bulamadım en son denedeğim yöntem aşağıdaki gibi;MC_delta_T adlı üyeden alıntı: mesajı görüntüle
Alıntı - 17-01-2009, 19:12:53Kardeş bu işlemez sen yanlış anlamışsın beni diğer arkadaş gibi, ben aynı isme sahip verilerden en son ekleneni yazdırmak istiyorum bu arada da listeleme yapmak istiyorum durum senin sandığın kadar basit değil yaniLaCReMeL adlı üyeden alıntı: mesajı görüntüle
.
- 17-01-2009, 19:15:05Üyeliği durdurulduSELECT count(*) as say,name FROM students GROUP BY name having say > 1 ORDER BY say DESC
bu sorgu ile tekrarlanan kayıtları alırsın. sonra buradaki "name" alanlarını "OR name=" ile birleştirirsin. implode yani.
sonra "select * from students where name = $implodedegiskeni ORDER BY id DESC LIMIT 0,1" dersen istediğine ulaşırsın.
daha kolay ve performanslı bir yolu vardır belki ama ben bulamadım
.