gpt4 book ai didi

MySQL 查询在多列上使用 DISTINCT 并按日期排序(最后一个时间戳)

转载 作者:行者123 更新时间:2023-11-29 15:41:50 29 4
gpt4 key购买 nike

我在 day_number 上使用 SELECT DISTINCT 但按日期时间戳排序的查询中遇到困难。

每周添加新记录,我只需要具有最新插入日期 (date_add) 并按 day_number 排序的记录。

id   Dept_id  day_number   price     date_add
1 46 1 20000 2019-08-19 17:06:30
2 46 2 18000 2019-08-19 17:06:30
3 46 3 19000 2019-08-19 17:06:30
4 46 4 16000 2019-08-19 17:06:30
5 46 5 18000 2019-08-19 17:06:30
6 46 6 22000 2019-08-19 17:06:30
7 46 7 30000 2019-08-19 17:06:30
10 46 1 38000 2019-08-19 17:15:24
11 46 1 34000 2019-08-19 17:18:44

我试过这个:

SELECT DISTINCT day_number, date_add, (price)
FROM ai_targets where dept_id=46
GROUP BY day_number
ORDER BY day_number DESC

但是给出了错误的价格。

最佳答案

如果您想要每个 date_add 具有最大 day_number 的行,请使用 NOT EXISTS:

SELECT t.*
FROM ai_targets *
WHERE dept_id = 46
AND NOT EXISTS (
SELECT 1 FROM ai_targets
WHERE dept_id = t.dept_id AND date_add = t.date_add AND day_number > t.day_number
)

如果您想要每个 day_number 具有最大 date_add 的行:

SELECT t.*
FROM ai_targets *
WHERE dept_id = 46
AND NOT EXISTS (
SELECT 1 FROM ai_targets
WHERE dept_id = t.dept_id AND day_number = t.day_number AND date_add > t.date_add
)

关于MySQL 查询在多列上使用 DISTINCT 并按日期排序(最后一个时间戳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561567/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com