如何编写这个 MySQL 查询?
假设我有一个表,其中包含三个整数字段和一个字符串字段(仅数据)。
例如,它看起来像:
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 ...
如何编写这样的查询?
谢谢!
Suppose I have a table that has three integer fields and one string field (just data).
For example it looks like:
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 ...
What I want to do is for each Category
, include the row with the minimum Value
field in the result set. In this case, it would return:
Id Category Value Data
1 1 3 ...
3 2 2 ...
7 3 2 ...
8 4 1 ...
How to write such a query?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
内部选择获取最终结果所需的类别和值,然后连接回主表以获取所有列。
The inner select gets the categories and values needed for the final result, then you join back to the main table to get all the columns.
使用
MIN
函数和GROUP BY
类别列上的结果。Use the
MIN
function andGROUP BY
the results on the Category column.