繁体   English   中英

如何编写与计数相关的查询

[英]How do I write a query related to count

我有两张表,例如CarDriver Car表有两列。 它们是car_idcar_name Driver表也有两列。 它们是driver_idcar_type

汽车

car_id 车名
1 奥迪
2 宝马
3 法拉利

驱动程序

driver_id 汽车类型
1 宝马
1 奥迪
1 法拉利
2 奥迪
2 雪佛兰
2 塔塔
3 法拉利

如何找到驾驶超过两辆车的司机?

通过使用 Have 子句

SELECT Driver_id
FROM Driver
GROUP BY Driver_id
HAVING COUNT(*) > 1

您的表具有代理主键,但Driver表使用汽车名称而不是 id 将汽车与司机联系起来。

所以你可以找到拥有不止一辆车的司机,而不需要加入 car 表(除非你需要car_id值)

查询需要计算由driver_id分组的不同类型的汽车,汽车类型的计数大于一。

从该句子中的信息中,您应该能够查找如何用 SQL 编写它;)

如果Driver表对两个字段driver_id / car_type具有唯一约束,那么您可以使用 Dijkgraaf 发布的查询,而不必担心他们驾驶的汽车类型。

根据您显示的数据,驾驶员驾驶的汽车不能有任何参考约束(外键),因为您在Driver表中有Cheverolet (sic)、 TataFerrari但这些汽车不在Car表中。

SELECT Driver_id
FROM YourTable
Where COUNT(Driver_id) > 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM