a ve b değerlerine sahip bir tablonuz varsa, yalnızca bir kopyası yoksa b'leri eklemenin bir yolu var mı? Örneğin çokZaten toplanmış tupl'leri takip edin sql
a b
1 2
2 3
2 3
için yalnızca 5
select sum(b if unique a),
from table
where ...
a ve b değerlerine sahip bir tablonuz varsa, yalnızca bir kopyası yoksa b'leri eklemenin bir yolu var mı? Örneğin çokZaten toplanmış tupl'leri takip edin sql
a b
1 2
2 3
2 3
için yalnızca 5
select sum(b if unique a),
from table
where ...
aşağıdaki sorgu bir tür her grup a
b
en düşük değerini seçmektedir (yerine 8) almak
select min(b) min_b
from mytable
group by a
Bu değerleri daha sonra türetilmiş tablo
select sum(min_b) from (
select min(b) min_b
from mytable
group by a
) t
Sen RDBMS'yi belirtmediniz, ancak SQL Server gibi pencere fonksiyonlarını destekleyen bir veritabanı kullanıyorsanız, sen WITH
maddesini ve ROW_NUMBER()
kullanarak benzersiz satırları ilk sorgulayabilir işlevini ve daha sonra SUM
'u alın.
;WITH C AS(
SELECT a, b,
ROW_NUMBER() OVER (PARTITION BY a ORDER BY a) AS Rn
FROM Table1
)
SELECT SUM(b) FROM C
WHERE Rn = 1
= 2 've' b = 3 ', birinci ve' b = 5' ikinci? 'A' 2 + 3' veya' 2 + 5' mi? –