我不知道我的标题是否可以理解,也许有人能帮我编辑标题?
例如,我想做的就是:
我有一张这样的桌子

Engineering以不同的article_category_abbr出现5次,我只想选择一个最大值为num的行。
在这里,它将是Engineering-ENG-192,Geriatrics&Gerontology将是Geriatrics&Gerontology-CLM-26
但我不知道怎么用mysql在整个桌子上
发布于 2018-01-23 04:12:21
将表连接到子查询,该查询为每个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;发布于 2018-01-23 04:12:20
您可以有一个子查询,为每个sc获取最大的值,然后根据两个列-- sc和num --将结果行与表本身连接。
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这是一个演示
发布于 2018-01-23 04:16:02
像这样使用MAX函数和GROUP BY。这里是更多的信息。
SELECT myID, classTitle, subField, MAX(score) FROM myTable GROUP BY myID, classTitle, subFieldhttps://stackoverflow.com/questions/48394080
复制相似问题