繁体   English   中英

MySQL:从列中选择最后一个(最大值)值并计数所有行

[英]MySQL: select last (max) value from column and count of all rows

如何在单个查询中从列和所有行的计数中选择最后一个(= max)值?

ID      ITEM_ID       VALUE
1       1             100
2       1             101
3       2             201
4       3             333
5       2             222
6       1             111

我想为特定ITEM_ID选择last / max值,并选择具有该ID的所有行的计数。 因此,对于ITEM_ID = 1:

VALUE      COUNT
111        3

我的查询是这样的:

SELECT (SELECT COUNT(*) FROM table) AS count, (SELECT value FROM table ORDER BY id DESC LIMIT 1) AS value FROM table WHERE item_id = 1 LIMIT 1

它有效,但看起来...很奇怪。 有没有更好(更简单/更快)的解决方案? 谢谢

您需要在ITEM_ID上进行GROUP BY ,同时获得MAX()COUNT()

select max(value) as `VALUE`,
count(*) as `COUNT`
from your_table
group by ITEM_ID;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM