gpt4 book ai didi

mysql - 我的 SQL 唯一值 - 意外结果

转载 作者:可可西里 更新时间:2023-11-01 08:06:00 34 4
gpt4 key购买 nike

我有一个表 tblSchedule,下面是其中的值。

INSERT INTO tblSchedule (`scheduleID`, `eventID`, `price`, `eventDate`) VALUES 
(1, 1, 150, '2013-04-20 00:00:00'),
(2, 1, 100, '2013-04-15 00:00:00'),
(3, 2, 80, '2013-04-18 00:00:00'),
(4, 3, 120, '2013-04-26 00:00:00'),
(5, 3, 140, '2013-04-22 00:00:00'),
(6, 2, 100, '2013-04-22 00:00:00');

我想获取按 eventDate ASC 排序的唯一事件。
我尝试了以下查询,但这给出了错误的价格值和正确的 eventDates。

SELECT MIN(eventDate) as minEventDate, eventId, price
FROM tblSchedule
GROUP BY eventID
ORDER BY minEventDate

Click Here to see code in action

谁能告诉我这里发生了什么以及正确查询的分割?

最佳答案

首先,您应该为每个 eventID 找到 MIN(EventDate),然后从原始表中找到包含这些 eventID 的行MIN(EventDate) 使用 JOIN

SELECT * FROM tblSchedule
JOIN
( SELECT MIN(eventDate) as minEventDate,
eventId
FROM tblSchedule
GROUP BY eventID
) as T on tblSchedule.eventID=t.EventId
AND
tblSchedule.eventDate=t.minEventDate

ORDER BY eventDate

SQLFiddle demo

关于mysql - 我的 SQL 唯一值 - 意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20681551/

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