簡體   English   中英

(MySQL) Select 基於最大計數和決勝邏輯的行

[英](MySQL) Select row based off max count and tiebreaker logic

我有一個查詢,當前提取每個用戶的數字計數和創建記錄的日期。

用戶 數字 創建日期
1個 AA1 2個 2022 年 3 月 1 日
1個 BB1 2個 2022 年 4 月 1 日
1個 CC1 1個 2020 年 1 月 1 日

我希望計數最高且日期最近的行作為決勝局,在我的示例中為 BB1。 我很難弄清楚我的查詢接下來要采取什么步驟:

SELECT id, number, count(dl.number) as 'num', date_created
FROM some_table
WHERE id = 1
GROUP BY id, number;

我已經嘗試將其放入別名的子查詢中,並在 count 和 date_created 上使用 max(),但它並沒有讓我得到我正在尋找的東西。

非常感謝任何幫助。 謝謝!

您可以使用ORDER BY按降序排列所需的條件,然后僅使用LIMIT選擇第一個:

select *
from some_table
where user = 1
order by num desc, date_created desc
limit 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM