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