Arkadaşlar mysql veri tabanı kullanıyorum ve yaptığım sorgulamada belirttiğim bir noktadan itibaren 10 kişi nin gelmesini istiyorum.Normalde bir sorun yok fakat elimde 100 kişi olduğunu düşünelim 98. kişiden itibaren listeleme yapılması istenirse başa dönmesini ve başdan da 8 kişiyi daha gostermesini istiyorum bunun için kullanmam gereken sql komutu var mı ? örnek verirseniz sevinirim cevap verenlere şimdiden çok teşekkurler...
Şöyle bir sey yapabilirsin. Önce tablodaki kayıt sayısını alırsın. Sonra belirttiğin nokta kacıncı sırada yer alıyor onu bulursun. sonra bu aradaki farkı tespit edersin. Sonra bu aradaki farkı 10 'dan cıkarırsın. bu 10 ile arasındaki fark, ilk kayıttan baslıcak ve devam edecek kayıtları tutuyor. tablodaki kayıt sayısı ile senin girdiğin kayıtın bulundugu satırdaki fark ise girdiğin yerden itibarenki farkı buluyor.
Örnek;
1.adım > Kişi 98 girdi. 2.adım > tablodaki kayıt sayısı tespit edildi ve 100 cıktı. 3.adım > fark1 = 100-98 = 2. 4.adım > eger fark1, 10'dan küçükse asagıdaki işlemlere devam et, büyükse direk "select * top10" ile son 10 kaydı al. Cünkü 85 girdi diyelim basa dönmesine gerek yok. 5.adım > "select * from son_2_kayıt" 6.adım > fark2 = 10-2=8 7.adım > "select * from ilk_kayittan itibaren ilk 8 kaydı al" 8.adım > bu farklı 2 sorguyu birleştir. sanırım UNION komutu ile oluyordu.
Şu an için bana mantıklı geliyor. umarım pratiktede işe yarar
örnek verirseniz sevinirim