我不知道我的头衔是否可以理解,可能有人可以帮我编辑我的头衔吗?
Engineering
出现5次article_category_abbr
次,我想只选择一行最大值为num。
在这里,它将是Engineering-ENG-192
,而Geriatrics&Gerontology
将是Geriatrics&Gerontology-CLM-26
但我不知道如何使用mysql在整个表上执行此操作
答案 0 :(得分:1)
您可以拥有一个子查询,该子查询获得每个sc
的最大值,然后生成的行将根据两列 - sc
和num
与表本身连接。< / p>
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT sc, MAX(num) AS Num
FROM tableName
GROUP BY sc
) b ON a.sc = b.sc
AND a.num = b.num
这里是Demo
答案 1 :(得分:1)
将您的表格加入子查询,该子查询为每个num
组找到最大的sc
值。
SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT sc, MAX(num) AS max_num
FROM yourTable
GROUP BY sc
) t2
ON t1.sc = t2.sc AND
t1.num = t2.max_num;
答案 2 :(得分:0)
USE MAX
功能和GROUP BY
这样的功能。 Here是更多信息。
SELECT myID, classTitle, subField, MAX(score) FROM myTable GROUP BY myID, classTitle, subField