好的,所以我是SQL的新手,而且我一直在试图弄清楚这一点,而不是真的在任何地方。 我有一个名为WaitingList的表,有3列 - Customer_Name,Holiday和Timestamp。我需要为每个不同的假期选择最早的时间戳,并为该假期安排客户的名字 所以,例如,如果我有......
CUSTOMER_NAME | HOLIDAY | TIMESTAMP
Bill | Christmas | 2014-04-20
Tom | Easter | 2014-04-19
Kate | Christmas | 2014-04-24
我想获得......的ResultSet。
CUSTOMER_NAME | HOLIDAY
Bill | Christmas
Tom | Easter
但我无法确定适当的陈述。 任何帮助表示赞赏!
答案 0 :(得分:0)
ODER BY TIMESTAMP DESC
为您提供最早的时间戳,并使用GROUP BY HOLIDAY
唯一地获取每个不同的假期。
SELECT CUSTOMER_NAME ,HOLIDAY FROM WaitingList GROUP BY HOLIDAY ORDER BY TIMESTAMP DESC
答案 1 :(得分:0)
你可以这样做。在这里查看演示小提琴http://sqlfiddle.com/#!2/2bcf2/6
select wl.CUSTOMER_NAME,
wl.HOLIDAY
FROM WaitingList wl
INNER JOIN
(
SELECT HOLIDAY,MIN(TIMESTAMP) as earliest_booking
FROM WaitingList
GROUP BY HOLIDAY
)tab
on wl.TIMESTAMP = tab.earliest_booking
结果是