什么是获得“最常用查询”的正确SQL

时间:2010-06-21 00:16:59

标签: sql-server

我有一张名为 Rides

的表格

ID
car_id
距离

我有另一张表汽车

ID
名称

我想运行一个返回每辆车最多驱动器的查询(在我已经摆脱不止一次的汽车上)

所以我要找的结果是这样的(按降序返回):

福特10
宝马8
法拉利5
吉普4

我有:

select car_id, COUNT(car_id) as Cid    
from Rides
group by car_id
order by cid desc

但我无法弄清楚如何消除只有1次骑行的物品。

3 个答案:

答案 0 :(得分:4)

要过滤派生列,您可以使用HAVING子句。

select car_id, COUNT(car_id) as Cid    
from Rides
group by car_id
having Cid > 1
order by cid desc

OR

having COUNT(car_id) > 1

如果您的特定品牌的SQL不喜欢在Having子句中使用别名。

答案 1 :(得分:1)

看看HAVING子句 - 双关语不是

答案 2 :(得分:0)

功课?

尝试按car_id分组...