gpt4 book ai didi

php - SQL查询只选择最大项目?

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:46 24 4
gpt4 key购买 nike

我有这张表:我想按 UID 搜索

ID | VID | UID
1 | 1 | 5
1 | 1 | 6
1 | 2 | 6
2 | 3 | 5
2 | 3 | 6
2 | 4 | 6

我想以这样的结果结束:

ID | VID | UID
1 | 2 | 6
2 | 4 | 6

换句话说,只选择 VID 是 UID 的 MAX 的条目,但保持最小 NID 可能不同。我想是这样的:

select * from TABLE where uid = 6 and max(vid)

???

但这行不通吗?

最佳答案

一种方法是按降序排列(因此最大值在顶部),然后只选择第一个结果。

SELECT t.ID,
t.VID,
t.UID
FROM table t
WHERE t.ID = 1
ORDER BY t.VID DESC
LIMIT 1

或者您的意思是您想要 t.VID 是最高值的所有行?在这种情况下,你可以做这样的事情,

SELECT t.ID,
t.VID,
t.UID
FROM table t
WHERE t.ID = 1
AND t.VID = (SELECT MAX(VID) FROM table);

编辑:根据对您问题的编辑,您似乎只想要每个 ID 的最大 VID 值?如果我对您的理解正确,那么这应该可以满足您的需求。

SELECT t.ID,
max(t.VID) as VID,
t.UID
FROM table t
WHERE t.UID = 6
GROUP BY t.ID

关于php - SQL查询只选择最大项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5835819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com