[英]MySQL: select last (max) value from column and count of all rows
How can I select last (=max) value from column and count of all rows in single query? 如何在单个查询中从列和所有行的计数中选择最后一个(= max)值?
ID ITEM_ID VALUE
1 1 100
2 1 101
3 2 201
4 3 333
5 2 222
6 1 111
I want to select last / max value for particular ITEM_ID and count of all rows with this ID. 我想为特定ITEM_ID选择last / max值,并选择具有该ID的所有行的计数。 For ITEM_ID = 1 thus:
因此,对于ITEM_ID = 1:
VALUE COUNT
111 3
My query is like this: 我的查询是这样的:
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
It works but looks ... weird. 它有效,但看起来...很奇怪。 Is there any better (simpler / faster) solution?
有没有更好(更简单/更快)的解决方案? Thanks
谢谢
You need to do a GROUP BY
on column ITEM_ID
while getting the MAX()
and COUNT()
like 您需要在
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.