【发布时间】:2013-01-18 00:01:00
【问题描述】:
我有两个表:Customer 和 ParkingTransaction。我想展示最常使用地段的前 10 位客户。 ParkingTrasaction 表中的“CustomerKey”是将 ParkingTransaction 连接到 Customer 的 FK。我已经编写了以下代码,它计算了 ParkingTransaction 表中最常用的 CustomerKey,它工作正常......
SELECT TOP 10 CustomerKey
, count(*) as 'Usage'
FROM ParkingTransaction
GROUP BY CustomerKey
HAVING (count(CustomerKey) > 0)
ORDER BY 'Usage' DESC
这是我的输出
我面临的问题是:我想从 Customer 表中提取 FirstName 和 LastName 字段,而不是仅按 CustomerKey 排序。我已经搞砸了 JOINS,但还没有提出解决方案。
谢谢!
【问题讨论】:
-
HAVING (count(CustomerKey) > 0)是多余的。您按CustomerKey分组,因此每个组至少包含 1 行。它永远不能为 0 或更少。 -
MySQL 什么时候开始支持 SQL Server 风格
SELECT TOP n ...? (哎呀,这是一个问题,而不是评论。)