【发布时间】:2015-07-21 15:58:20
【问题描述】:
我对更高级的 SQL 查询还很陌生
鉴于以下表格和相关字段:
人 PersonId、名字、姓氏
订购 OrderId、PersonId、OrderDateTime
我想编写一个查询,通过 PersonId 连接两个表,并检索每个人及其最近的订单。
所以如果下面的 James Doe (PersonId = 1) 在订单表中有很多订单,
OrderId、PersonId、OrderDateTime
1 1 12/1/2013 9:01 AM
2 1 2/1/2011 5:01 AM
3 2 10/1/2010 1:10 AM
他只需要最近的。
PersonId NameFirst NameLast OrderId OrderDateTime
1 James Doe 1 12/1/2013 9:01 AM
2 John Doe 3 10/1/2010 1:10 AM
我一直在尝试这样的事情
SELECT p.PersonID, o.OrderID, MAX(o.OrderDateTime) From Person p
JOIN Orders o ON p.PersonID = o.PersonID
GROUP BY p.PersonID,
谢谢
【问题讨论】:
-
除非你真的同时使用 MySQL 和 SQL Server,否则只标记你实际使用的 dbms 的标签。
标签: mysql sql-server