![](/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.