Bir veritabanı tablosundaki 2 farklı alanın farklı kombinasyonunu elde edebilir misiniz? eğer öyleyse, SQL örneği verebilir misiniz?
Yanıtlar:
Peki ya basitçe:
select distinct c1, c2 from t
veya
select c1, c2, count(*)
from t
group by c1, c2
Operand should contain 1 column(s)
Hata görenlerin sorunu, muhtemelen yapıyor select distinct(c1, c2) from t
olmanız ve burada parantezlere izin verilmemesidir. Ben böyle geldim.
Yalnızca iki alandan farklı değerler istiyorsanız ve bunlarla birlikte başka alanlar döndürürseniz, diğer alanların üzerlerinde bir tür toplama (toplam, minimum, maksimum vb.) Olması ve farklı olmasını istediğiniz iki sütun görünmesi gerekir. maddeye göre grup. Aksi takdirde, Decker'in dediği gibi.
Aptal düşüncemi paylaş:
Sözdizimi olabilir böylece Belki, sadece c1 üzerinde değil c2'den ayrı seçebilir select ([distinct] col)+
nerede distinct
her sütun için bir eleme olduğunu.
Ancak düşündükten sonra , tek bir sütunda farklı olanın saçma olduğunu görüyorum . Şu ilişkiyi ele alalım:
| A | B
__________
1| 1 | 2
2| 1 | 1
Biz ise select (distinct A), B
, o zaman doğru ne B
için A = 1
?
Bu nedenle, distinct
bir statement
.