[英]How do I write a query related to count
我有两张表,例如Car
和Driver
。 Car
表有两列。 它们是car_id
和car_name
。 Driver
表也有两列。 它们是driver_id
和car_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)、 Tata
和Ferrari
但这些汽车不在Car
表中。
SELECT Driver_id
FROM YourTable
Where COUNT(Driver_id) > 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.