![](/img/trans.png)
[英]mysql select all unique rows in one column and all max rows in another column by datetime
[英]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.