我有两列(col1和col 2)col1
是VARCHAR数据类型,col2
是INT。我有很多重复col1
值的记录。现在我需要总结(col2)col1
是不同的。我怎么能这样做?
我之前尝试过这样的做法,但没有奏效。
Select distinct
col1, sum(col2) as col2
from mytable
group by col1
Select sum(col2)
from
(Select distinct col1 from mytable)
答案 0 :(得分:0)
WITH
CTE
AS
(
SELECT
col1
,col2
,ROW_NUMBER() OVER(PARTITION BY col1 ORDER BY col2) AS rn
FROM mytable
)
SELECT
SUM(col2) AS SumCol2
FROM CTE
WHERE rn=1
;
如果col1
中有多个具有相同值的行,您应该决定要选择哪一行。上面的查询将选择具有最小col2
的行。