簡體   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