SORU
1 EKİM 2009, PERŞEMBE


Nasıl bir sütun değeri tekrarlarını SQL verimli bir şekilde saymak için?

Öğrencilerin bir tablo var:

id | age
--------
0  | 25
1  | 25
2  | 23

Öğrenciler ve kaç tane aynı yaştayız önemli olan ek bir sütun için sorgu istiyorum:

id | age | count
----------------
0  | 25  | 2
1  | 25  | 2
2  | 23  | 1

Bunu yapmanın en etkili yolu nedir?Alt sorgu yavaş olacak diye korkuyorum, ve eğer daha iyi bir yolu varsa merak ediyorum. Orada mı?

CEVAP
1 EKİM 2009, PERŞEMBE


Bu çalışması gerekir:

SELECT age, count(age) 
  FROM Students 
 GROUP by age

Eğer kimliği olarak böyle bir alt sorgu olarak yukarıdaki içerebilir:

SELECT S.id, S.age, C.cnt
  FROM Students  S
       INNER JOIN (SELECT age, count(age) as cnt
                     FROM Students 
                    GROUP BY age) C ON S.age = C.age

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • jbignacio

    jbignacio

    13 Mart 2006
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011