Select 多个 distinct 与 Order By Date 子句
Select Multiple distinct with Order By Date Clause
我有一个具有以下结构和数据的 MS-Access 数据库表:
现在我希望结果中的所有列都满足以下条件:
- TicketNo 不应在结果中重复
- 结果应按日期列排序 (EnteredDate)
我尝试了 Whosebug 和其他来源的一些例子,但没有得到想要的结果。
我尝试使用:
- KeyWord DISTINCT and GROUP BY and ORDER BY (显然在不同的查询中)
- MAX 和 MIN 根据一些示例。
请帮我找到解决办法。
谢谢。
试试这个:
[编辑]
SELECT src.ID, src.TicketNo, src.TicketQuantity, src.TicketRate, src.EnteredDate
FROM (
SELECT TicketNo, MAX(EnteredDate) AS MaxEnteredDate
FROM Tickets
GROUP BY TicketNo
) AS mtn INNER JOIN Tickets AS src ON mtn.TicketNo = src.TicketNo AND mtn.MaxEnteredDate = src.EnteredDate
ORDER BY src.EnteredDate DESC
以上查询returns:
ID TicketNo TicketQuantity TicketRate EnteredDate
6 3000 3 2 2015-01-11 18:27:39
5 3002 6 2 2015-01-11 18:27:31
2 3001 2 2 2015-01-11 18:27:15
我有一个具有以下结构和数据的 MS-Access 数据库表:
现在我希望结果中的所有列都满足以下条件:
- TicketNo 不应在结果中重复
- 结果应按日期列排序 (EnteredDate)
我尝试了 Whosebug 和其他来源的一些例子,但没有得到想要的结果。
我尝试使用:
- KeyWord DISTINCT and GROUP BY and ORDER BY (显然在不同的查询中)
- MAX 和 MIN 根据一些示例。
请帮我找到解决办法。 谢谢。
试试这个:
[编辑]
SELECT src.ID, src.TicketNo, src.TicketQuantity, src.TicketRate, src.EnteredDate
FROM (
SELECT TicketNo, MAX(EnteredDate) AS MaxEnteredDate
FROM Tickets
GROUP BY TicketNo
) AS mtn INNER JOIN Tickets AS src ON mtn.TicketNo = src.TicketNo AND mtn.MaxEnteredDate = src.EnteredDate
ORDER BY src.EnteredDate DESC
以上查询returns:
ID TicketNo TicketQuantity TicketRate EnteredDate
6 3000 3 2 2015-01-11 18:27:39
5 3002 6 2 2015-01-11 18:27:31
2 3001 2 2 2015-01-11 18:27:15