sql sorgulama yardım

Başlatan armsistem, 19 Nisan 2014, 13:06:05

armsistem

Arkadaşlar merhaba ,  sql sorgulama takıldım istediğim en fazla hangi meyvadan gelmiş.

Örnek tablo;
1-elma-4 kg
2-armut -1 kg
3-armut -1 kg
4-ayva -3 kg

Sorgulamadan sonraki sonuç

1- elma - 4 kg.
2- ayva - 3 kg.
3- armut - 2 kg.

Yardımlarınız için şimdiden teşekkür ederim.

ErsinErce

select * from table order by kilo desc;

muhittin_kaplan

tabi bilgiler ayrı alanlardaysa

barisertekin

#3
Group by kullanmanız gerekiyor.

Select Adi,Sum(Kg) as Kg from [TableName]  group by Adi order by Kg desc

Bu kod çalışsada lakin ki öyle değildir :) Yüce mevlam normalizasyon dediğimiz kavramı yaratmıştır.

Meyveler tablosu ayrı olmalı. Meyveler_Kilolar tablosu ayrı olmalı. Böylece group by işlemini ID üzerinden yaparak kat kat hız kazanmış oluruz.

muhittin_kaplan


barisertekin

Örnek tabloda 2 tane armut var. Çıktıda 1 tane.

muhittin_kaplan

o biz orayı kaçırmışız,
hatta toplamada yapması gerek.
ve KG ile Meyve tabloları ayrı olursa iyi olur

armsistem

yanıtlar için teşekkürler ama sıkıntı oluyor ,
- select * from table order by kilo desc;

yukarudaki gibi doğru bir sorgulama olmaz belki kg olarak 1 dir ama bir çok satırda tekrarlanabilir..

Select Adi,Sum(Kg) as Kg from [TableName]  group by Adi order by Kg desc

yukarıdaki tamam diyelim 10 satırda elma var 1 kg ama tek satırda armut 20 kg. yine doğru sonuç çıkmaz

barisertekin

Neden doğru çıkmasın? Buraya örnek tabloyu ve sonucu yaz birlikte bakalım.

armsistem

Hocam pazartesi günü göndereceğim. Uğraşı için teşekkürler.

armsistem

Alıntı yapılan: barisertekin - 19 Nisan 2014, 17:06:43
Group by kullanmanız gerekiyor.

Select Adi,Sum(Kg) as Kg from [TableName]  group by Adi order by Kg desc

Bu kod çalışsada lakin ki öyle değildir :) Yüce mevlam normalizasyon dediğimiz kavramı yaratmıştır.

Meyveler tablosu ayrı olmalı. Meyveler_Kilolar tablosu ayrı olmalı. Böylece group by işlemini ID üzerinden yaparak kat kat hız kazanmış oluruz.


Eyvallah yukarıdaki çalıştı. Yanıt veren herkese teşekkür ederim...