SQL - 分组求某列最小值或最大值

要求:求每个人最差的那一门课程及分数(如下图)
  名字   科目   成績
  小明   英語   80
  小紅   英語   70
with
tb(name,kemu,score) as( select '小明','語文',90 union all select '小明','數學',85 union all select '小明','英語',80 union all select '小紅','語文',80 union all select '小紅','數學',85 union all select '小紅','英語',70 ) SELECT name,kemu,score FROM ( SELECT *,scoreIndex=(SELECT COUNT(DISTINCT i.score) FROM tb i WHERE i.name=tb.name AND i.score<tb.score) FROM tb )a WHERE a.scoreIndex=0
原文地址:https://www.cnblogs.com/you000/p/2804773.html