-
Üyelik
13.02.2014
-
Yaş/Cinsiyet
44 / E
-
Meslek
Web master
-
Konum
İstanbul Avrupa
-
Ad Soyad
E** İ**
-
Mesajlar
116
-
Beğeniler
3 / 33
-
Ticaret
2, (%100)
Selam arkadaşlar şöyle bir sorunum var :
Bir tabloda
id - icerik groupid
1 - içerik1 1
2 - içerik2 1
3 - içerik3 1
4 - içerik4 2
5 - içerik5 2
Şeklinde tablomvar istediğim şeyse groupid ye göre her grouptan en son girilen içerikleri listelemek yani groupid 1 olandan en son içerik groupid 2 olandan en son içerikleri listelemek istiyorum.
şöyle bişey ama bu işime yaramıyor
select groupid from tbl
group by groupid
ben tablodaki tüm verileri çekmek istiyorum ama sadece her groupid den 1 tane gelmeli
yani
select * from tbl
group by groupid
gibi ama buda group by kısmına yazdığından başkasını select kısmına yazamıyorsun e benim tablomda biraz genis tüm verilere ihtiyacım var nasıl yapabilirim?
-
Üyelik
06.03.2014
-
Yaş/Cinsiyet
33 / E
-
Meslek
Öğrenci
-
Konum
Diğer
-
Ad Soyad
M** B**
-
Mesajlar
658
-
Beğeniler
78 / 125
-
Ticaret
0, (%0)
Merhaba, SQL Server bilgisayarımda yüklü olmadığı için deneme şansım olmadı, aşağıdaki komutları yazdım, belki işinizi görür.
USE veri_tabani
DECLARE @a INT
CREATE TABLE #gecici_tablo
(
id INT,
icerik NVARCHAR(MAX),
groupid INT
)
SET @a=1
WHILE @a <= SELECT MAX(groupid) FROM tablo
BEGIN
INSERT INTO gecici_tablo VALUES(SELECT * FROM tablo WHERE groupid=@a AND id=MAX(id))
SET @a=@a+1
END
SELECT * FROM #gecici_tablo
Özetle groupid değerlerini sırayla buluyor, id değeri en büyük olanı geçici tabloya ekliyor. Sonra geçici tablodaki verileri listeliyor.
Kolay gelsin.