Tabloda aynı olan kayıtları toplamak?
Tabloda aynı olan kayıtları toplamak?
Selamunaleyküm...
sayın hocalarım sorum şu örneğin kitap tablomda "kitapadi" alanına göre aynı isimli kitapların kaç tane olduğunu hesaplatıp ilk 5 tanesini almak istiyorum bunu nasıl yapabilirim acaba?yani örnek olarak şöle anlatayım;
bu bir kütüphane programı diyelim ki 1.müşteri geldi kaşağı kitabını aldı.2.müşteri kaşağıyı aldı 3.müşteri geldi oda kaşağıyı aldı ve 4. ve 5. müşteriler sinekli bakkalı aldı.6.müşteride savaş ve barışı aldı. bir sorgu ile aynı isimli kitapların sayısını toplatıp büyükten küçüğe ilk 5 tanesini çekmek istiyorum:
sonuç:
1-Kaşağı
2-Sinekli Bakkal
3-Savaş ve Barış
sql çıktısı bu şekilde olacak bunu nasıl bi yöntem ile yapbiliriz yardımcı olabilirmisiniz?
Allah Yardımcınız Olsun...
Saygılar...
sayın hocalarım sorum şu örneğin kitap tablomda "kitapadi" alanına göre aynı isimli kitapların kaç tane olduğunu hesaplatıp ilk 5 tanesini almak istiyorum bunu nasıl yapabilirim acaba?yani örnek olarak şöle anlatayım;
bu bir kütüphane programı diyelim ki 1.müşteri geldi kaşağı kitabını aldı.2.müşteri kaşağıyı aldı 3.müşteri geldi oda kaşağıyı aldı ve 4. ve 5. müşteriler sinekli bakkalı aldı.6.müşteride savaş ve barışı aldı. bir sorgu ile aynı isimli kitapların sayısını toplatıp büyükten küçüğe ilk 5 tanesini çekmek istiyorum:
sonuç:
1-Kaşağı
2-Sinekli Bakkal
3-Savaş ve Barış
sql çıktısı bu şekilde olacak bunu nasıl bi yöntem ile yapbiliriz yardımcı olabilirmisiniz?
Allah Yardımcınız Olsun...
Saygılar...
..::ÖzSoft Computer Land & NetCity Internet Cafe::..
@boncapelo ile msn üzerindende görüşüyoruz. Bu kodları oradanda gönderdim ona. Ancak sıralama yapmadığını bildirdi.
Order By ifadesi le tekrar düzenledik kodları ama bu seferde sorgu çalışmadı.
SELECT FIRST 5 COUNT(ID) SAYI, KitapAdi
FROM Kitap
GROUP BY KitapAdi
ORDER BY SAYI
SAYI isimli alanın tanınmadığına ilişkin hata dönüyor geriye. Sanırım iç içe sorgular ile çözülecek problem.
Bu konuda fikri olan var mı? (@boncapelo'nun destek elemanı gibiyim bu arada )
Order By ifadesi le tekrar düzenledik kodları ama bu seferde sorgu çalışmadı.
SELECT FIRST 5 COUNT(ID) SAYI, KitapAdi
FROM Kitap
GROUP BY KitapAdi
ORDER BY SAYI
SAYI isimli alanın tanınmadığına ilişkin hata dönüyor geriye. Sanırım iç içe sorgular ile çözülecek problem.
Bu konuda fikri olan var mı? (@boncapelo'nun destek elemanı gibiyim bu arada )
mrb
Söylediklerin için database üzerinde bir test tablosu oluşturdum ve aşağıdaki sonucu aldım. mysql kullandığım için interbase de denemedim ama sanırım interbase içinde olur
Söylediklerin için database üzerinde bir test tablosu oluşturdum ve aşağıdaki sonucu aldım. mysql kullandığım için interbase de denemedim ama sanırım interbase içinde olur
Kod: Tümünü seç
SELECT count(kitapadi) as Adet,id,kitapadi FROM `kitap`
WHERE 1
group by kitapadi
order by Adet desc
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
name yazdı:@boncapelo ile msn üzerindende görüşüyoruz. Bu kodları oradanda gönderdim ona. Ancak sıralama yapmadığını bildirdi.
Order By ifadesi le tekrar düzenledik kodları ama bu seferde sorgu çalışmadı.
SELECT FIRST 5 COUNT(ID) SAYI, KitapAdi
FROM Kitap
GROUP BY KitapAdi
ORDER BY SAYI
SAYI isimli alanın tanınmadığına ilişkin hata dönüyor geriye. Sanırım iç içe sorgular ile çözülecek problem.
Bu konuda fikri olan var mı? (@boncapelo'nun destek elemanı gibiyim bu arada )
SELECT FIRST 5 COUNT(ID) AS SAYI, KitapAdi
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
bende deneme amaçlı kitap isimli bir tablo oluşturup, işlemi sp ile hallettim
sp kodlarıDelphi Bağlantı Kodları
Ekran Görüntüsü
umarım yardımcı olumuştur...
sp kodları
Kod: Tümünü seç
CREATE PROCEDURE NEW_PROCEDURE
returns (
id integer,
kitap_adi varchar(30))
as
begin
for select distinct(kitapadi) from kitap
into :kitap_adi do
begin
select first 5 count(id) from kitap
where kitapadi =:kitap_adi
into :id;
suspend;
end
Kod: Tümünü seç
SELECT
ID,
KITAP_ADI
FROM
NEW_PROCEDURE
ORDER BY ID DESC
Ekran Görüntüsü
umarım yardımcı olumuştur...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
@kadirkurtoglu, hocam sanırım SP ile gereksiz bir tekrarlayan döngü kurmuşsun
@name kardeşimizin verdiği cevaba küçük bir düzeltme ile sonuç alınabilir Yukarıdaki gibi sıralamayı alan adı olarak belirtemediğinizde select teki sırasını yazabilirsiniz. 1.nci alan için 1, 2.nci alan için 2, ..vb.
Kolay gelsin.
@name kardeşimizin verdiği cevaba küçük bir düzeltme ile sonuç alınabilir
Kod: Tümünü seç
SELECT FIRST 5 COUNT(ID) SAYI, KitapAdi
FROM Kitap
GROUP BY KitapAdi
ORDER BY 1
Kolay gelsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Selamunaleyküm...
Sayın hocalarım öncelikle zaman ayırıp cevapladığınız için teşekkür ederim.
sorunu @rsimsek hocamın koduna küçük bir ek yaparak hallettim
Saygılarımla...
Allah Yardımcınız Olsun...
Sayın hocalarım öncelikle zaman ayırıp cevapladığınız için teşekkür ederim.
sorunu @rsimsek hocamın koduna küçük bir ek yaparak hallettim
Kod: Tümünü seç
ibquery1.Close;
ibquery1.SQL.Add('SELECT FIRST 5 COUNT(did)as SAYI, Kitap FROM hareket GROUP BY Kitap ORDER BY 1 desc ');
ibquery1.Open;
Allah Yardımcınız Olsun...
..::ÖzSoft Computer Land & NetCity Internet Cafe::..
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
hocam bende gereksiz olduğunun bilincindeyim ancak 1 - 2 hata alınca döngüye soktum. zaten count, sum, max, avg tarzı sql kodları tabloyu şarta bağlı tamamını tarar, ayrıca baştan sonra tara gibi bir ifade yersizdir...@kadirkurtoglu, hocam sanırım SP ile gereksiz bir tekrarlayan döngü kurmuşsun
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
İlk mesajda küçükten büyüğe deyince DESC (tersten sıralama) eklememiştim.
@kadirkurtoglu kardeş farkındaysa for select distinct ile kitap listesi oluşturup daha sonra içteki select ile de tüm tablodaki kayıtlar için tekrar tarama yapıyorsun. Birden fazla çözümün olması güzel bir şey tabi fakat "en sağlam kod en basit koddur" sözünü hatırlamakta fayda var.kadirkurtoglu yazdı:hocam bende gereksiz olduğunun bilincindeyim ancak 1 - 2 hata alınca döngüye soktum. zaten count, sum, max, avg tarzı sql kodları tabloyu şarta bağlı tamamını tarar, ayrıca baştan sonra tara gibi bir ifade yersizdir...@kadirkurtoglu, hocam sanırım SP ile gereksiz bir tekrarlayan döngü kurmuşsun
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!