如何在SQL Access数据库表中查找第11个条目?
如何在Access SQL数据库表中找到第11个条目?我必须使用TOP函数,我的查询当前如下所示:如何在SQL Access数据库表中查找第11个条目?,sql,ms-access,Sql,Ms Access,如何在Access SQL数据库表中找到第11个条目?我必须使用TOP函数,我的查询当前如下所示: SELECT TOP 11 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount Spent on Tickets] FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber=Manifest.PassengerNumber GROUP BY Passenger.N
SELECT TOP 11 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount Spent on Tickets]
FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber=Manifest.PassengerNumber
GROUP BY Passenger.Name
ORDER BY SUM(Manifest.Ticketprice) DESC;
您可以使用子查询:
SELECT TOP 1 T.Name, T.[Total Amount Spent on Tickets]
FROM
(SELECT TOP 11 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount Spent on Tickets]
FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber=Manifest.PassengerNumber
GROUP BY Passenger.Name
ORDER BY SUM(Manifest.Ticketprice) DESC) As T
ORDER BY T.[Total Amount Spent on Tickets] ASC
access中没有限制关键字。我相信答案是使用嵌套的TOP查询:从SELECT TOP 11 Passenger.Name,SUMManifest.Ticketprice中选择TOP 1*,作为乘客内部连接清单中乘客的[Total Amount of Tickets],PassengerNumber=Manifest.PassengerNumber按乘客分组。Name ORDER BY SUMManifest.Ticketprice DESC;这给了我数据库中列出的第一个人,而不是第11个人是的,我认为外部的顺序应该是ASC。@Andre:应该是。更正。谢谢
SELECT TOP 1 T.Name, T.[Total Amount Spent on Tickets]
FROM
(SELECT TOP 11 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount Spent on Tickets]
FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber=Manifest.PassengerNumber
GROUP BY Passenger.Name
ORDER BY SUM(Manifest.Ticketprice) DESC) As T
ORDER BY T.[Total Amount Spent on Tickets] ASC