Belirli Sayıda Kaydı Getirme

20/06/2017, 10:30

ufukcem

bu aralar bir projem olduğu için sık sık soru soruyorum. şimdiden özür ve teşekkürlerimi iletirim.

sıkıntım şu:

sorguda yer alan max, min , last, first gibi işlevler bir adet kaydı getirmektedir. ancak ben örneğin 2,3,4 v.s. gibi adette kaydı geri döndürebilir miyim. yani en büyük değer yerine en büyük 3 değer, en son değer yerine en son 6 değer v.s. şeklinde olabilir mi?
tabii bu husus id bazında olmalı. yani o id'ye ait son 3 kayıt mesela. ekte örneğin isme ve id ye ait son 3 kaydı, o id ye ait tarih kriterine göre son 3 kaydı listelemek istiyorum

teşekkür ederim
20/06/2017, 15:04

jon206

Sn ufukcem;

sorgunuzun sql cümlesi aşağıdakiye le değiştirin..

SELECT TOP 5 tablo1.ID, tablo1.isim, tablo1.taih, tablo1.m, tablo1.d, tablo1.s, tablo1.seh
FROM tablo1
WHERE (((tablo1.ID)=[ID GIRINIZ]))
ORDER BY tablo1.m DESC;

top 5 istenilen kayıt sayısını verir 
En büyük veya en küçük değeri istiyorsanız ilgi alanı a/z veya z/a sılama sonucu elde edersiniz..
20/06/2017, 17:18

ufukcem

(20/06/2017, 15:04)jon206 yazdı: Sn ufukcem;

sorgunuzun sql cümlesi aşağıdakiye le değiştirin..

SELECT TOP 5 tablo1.ID, tablo1.isim, tablo1.taih, tablo1.m, tablo1.d, tablo1.s, tablo1.seh
FROM tablo1
WHERE (((tablo1.ID)=[ID GIRINIZ]))
ORDER BY tablo1.m DESC;


top 5 istenilen kayıt sayısını verir 
En büyük veya en küçük değeri istiyorsanız ilgi alanı a/z veya z/a sılama sonucu elde edersiniz..

teşekkür ederim, yalnız burda kriter olmadan yapamaz mıyız. yani her id için son 5 kayıt v.s. gibi (5 kayıt yoksa olduğu kadar kayıt)
20/06/2017, 22:48

ozanakkaya

Merhaba,
Oluşturduğunuz sorgunun Sql koduna aşağıdakini yazarak deneyiniz.

SELECT ID, taih, isim, m, d, s, seh
FROM tablo1 AS tbl_veriler
WHERE ((((SELECT COUNT(*) FROM tablo1 WHERE ID=tbl_veriler.ID and taih>=tbl_veriler.taih))<=5))
ORDER BY ID, taih DESC;

Bu kod, tarihe göre en son 5 kaydı gösterir. Koddaki 5 yerine 6 yazarsanız ide ait son 6 kaydı gösterir.
21/06/2017, 12:28

ufukcem

(20/06/2017, 22:48)ozanakkaya yazdı: Merhaba,
Oluşturduğunuz sorgunun Sql koduna aşağıdakini yazarak deneyiniz.

SELECT ID, taih, isim, m, d, s, seh
FROM tablo1 AS tbl_veriler
WHERE ((((SELECT COUNT(*) FROM tablo1 WHERE ID=tbl_veriler.ID and taih>=tbl_veriler.taih))<=5))
ORDER BY ID, taih DESC;

Bu kod, tarihe göre en son 5 kaydı gösterir. Koddaki 5 yerine 6 yazarsanız ide ait son 6 kaydı gösterir.

teşekkür ederim. zahmet oldu. uzun zamandır çözememiştim