我有一张桌子。我想选择最短日期和相应的票证状态。我试过但是却向我展示了两个或更多的牌号。只想要思想。感谢
Date PlateNo TickeStatus
01-15-12 A Open
01-23-12 c Open
01-17-12 A Close
02-23-12 c Open
02-15-12 A Open
03-23-12 c Open
03-15-12 A Close
03-28-12 c Close
04-15-12 A Open
04-23-12 c Close
答案 0 :(得分:3)
select top 1 * from TableName order by [Date]
通过这种方式,您将获得所有相关数据
答案 1 :(得分:3)
SELECT PlateNo, TicketStatus, [Date]
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY PlateNo ORDER BY [Date] ASC) AS [index],
PlateNo,
TicketStatus,
[Date]
FROM YourTable) A
WHERE [index] = 1
答案 2 :(得分:1)
但我建议您将 Date 字段更改为其他字段名称,例如 the_date 。 这只是为了避免与SQL语法发生冲突。
SELECT *, MIN(the_date) AS min_date FROM YOUR_TABLE;
答案 3 :(得分:1)
如果我记得很清楚,你必须在使用Min时放一个小组
SELECT MIN(date), PlateNo, Ticket_status
FROM your_table
GROUP BY date, PlateNo, Ticket_status
答案 4 :(得分:0)
ANSI标准。简单。适用于所有数据库......
select * from YourTable
where [Date] = (select min([Date]) from YourTable)