'daki başka bir sütundan bir değere eşit veya daha büyük bir değere sahip satır sayısını sayma İki sütunlu bir tablom var: bir çift kimlik ve bu çifti için bir dizi "işareti". x
işaretleri veya x
değerlerinin her biri için daha fazla olan çiftlerin sayısını listeleyen bir sonucu istiyorum. Yani benim girişi gibi görünür:SQL
| couple_id | num_marks | |-----------+-----------| | 9 | 7 | | 6 | 6 | | 8 | 6 | | 2 | 5 | | 3 | 4 | | 5 | 4 | | 1 | 3 | | 4 | 3 | | 10 | 2 | | 7 | 1 |
Ve sonuç almak istiyorum:
| num_marks | num_couples | |-----------+-------------| | 7 | 1 | | 6 | 3 | | 5 | 4 | | 4 | 6 | | 3 | 8 | | 2 | 9 | | 1 | 10 |
yani Orada 7 veya daha fazla işareti ile 3 çift, 6 veya daha fazla işareti ile 3 çiftler, 5 veya daha fazla işareti ile çiftler, 4 , vb için bir sorgu ile gelebildim ben tam olarak çiftlerin sayısını döndürmekn
işaretleri:
SELECT num_marks,
count(couple_id) AS num_couples
FROM table_name
GROUP BY num_marks
ORDER BY num_marks DESC;
verir:
| num_marks | num_couples | |-----------+-------------| | 7 | 1 | | 6 | 2 | | 5 | 1 | | 4 | 2 | | 3 | 2 | | 2 | 1 | | 1 | 1 |
Ie Orada 7 işaretleri, 6 işaretli 2 çift, 5 ile 1, 1 çift vardı orada her satırın değerini yukarıdaki olanlar ile etkili bir şekilde toplamak için uygun bir yol var mı? Uygulama düzeyinde yapabilirim, ama gerçekten veritabanına ait olan gibi bir şey gibi görünüyor.
Bu harika bir şey! SELECT işlevinin sütun olarak olabileceğini bilmiyordum. Örneğin, üzerinde çalışacak olan standart SQL mi? SQLite ve Postgres? Ayrıca, 'table_name' aslında bir masa değil, kendi başına büyük bir honking 'SELECT'; Bu şeyleri kırar mı? – haxney
@haxney - Düzenledim - evet, tablonun adını başka bir sorgu ile değiştirebilirsiniz, dış seçimlerde kullanmak için takma ad vermeniz gerekecek. – StuartLC