8 mysql select greatest-n-per-group
我目前正在尝试构建一个有点棘手的MySQL Select语句.这是我想要完成的:
我有这样一张桌子:
data_table
uniqueID stringID subject
1 144 "My Subject"
2 144 "My Subject - New"
3 144 "My Subject - Newest"
4 211 "Some other column"
Run Code Online (Sandbox Code Playgroud)
基本上,我想要做的是能够SELECT/GROUP BY stringID(stringID是线程化的图片)而不是重复.此外,我想选择最近的stringID行(在上面的例子中是uniqueID 3).
因此,如果我要查询数据库,它将返回以下内容(最新的uniqueID位于顶部):
uniqueID stringID subject
4 211 "Some other column"
3 144 "My Subject - Newest" //Notice this is the most recent and distinct stringID row, with the proper subject column.
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的.谢谢你的帮助.
请尝试以下方法.它可能不是最有效的查询,但它可以工作:
SELECT uniqueID, stringID, subject
FROM data_table
WHERE uniqueID IN
(
SELECT MAX(uniqueID)
FROM data_table
GROUP BY stringID
)
ORDER BY uniqueID DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20106 次 |
| 最近记录: |