假设我有一个表,其中包含三个整数字段和一个字符串字段(仅数据)。
例如,它看起来像:
Id Category Value Data
1 1 3 ...
2 1 4 ...
3 2 2 ...
4 2 4 ...
5 3 5 ...
6 3 6 ...
7 3 2 ...
8 4 1 ...
我想要做的是对于每个Category
,在结果集中包含具有最小Value
字段的行。在这种情况下,它将返回:
Id Category Value Data
1 1 3 ...
3 2 2 ...
7 3 2 ...
8 4 1 ...
如何编写这样的查询?
谢谢!
最佳答案
select T1.Id,
T1.Category,
T1.Value,
T1.Data
from YourTable as T1
inner join (
select Category,
min(Value) as Value
from YourTable
group by Category
) as T2
on T1.Category = T2.Category and
T1.Value = T2.Value
关于mysql - 如何编写这个 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6330038/