假设一个包含2列的表。一个是char(1)并包含可以重复的字母(不是唯一的)。另一列是int列。什么是正确的sql脚本,只选择每个字母一次,特别是int列为max的行(每个字母组中的最大int),例如,如果我有3行字母'A',对应的整数1 ,2,3然后只选择(A,3)行。当然,我的实际情况与此不同,但为了清晰起见,我简化了示例。
谢谢
答案 0 :(得分:0)
SELECT MAX(intcol),charcol
FROM tab
GROUP BY charcol
应该这样做
处理评论中提到的情景
WITH cte AS
(
SELECT MAX(intcol) AS maxintcol,charcol
FROM tab
GROUP BY charcol
)
SELECT t.*
FROM tab t JOIN cte c on c.maxintcol=t.intcol AND c.charcol = t.charcol
答案 1 :(得分:0)
SELECT MAX(ID) As [MaxId], Letter
FROM Alphabets
GROUP BY Letter