0

我们有一个带有VehicleName列的车辆表。我正在调查用户拥有多辆相同车辆的错误VehicleName。我有这个查询来帮助返回哪些 VehicleNames 已被多次使用:

SELECT VehicleName, 
 (
  SELECT count(VehicleName) 
  FROM Vehicles as V2 
  WHERE V1.VehicleName = V2.VehicleName
 )
FROM Vehicles as V1;

一方面,它很慢。这还不错,因为它不会投入生产。这只是为了帮助修复错误。其次,这将返回每一个VehicleName,甚至是计数为 1 的那些,这些是我对此应用程序不感兴趣的 VehicleNames。我不记得如何命名子查询,所以我不能添加一个where来限制它。

我不仅对如何命名子查询感兴趣,而且对他们更快的解决方案感兴趣吗?

4

1 回答 1

4

你想以某种丑陋的方式做到这一点吗?

SELECT VehicleName, COUNT(*) as TOTAL
FROM Vehicles
GROUP BY VehicleName
HAVING TOTAL > 1
ORDER BY TOTAL DESC;
于 2012-07-09T14:36:06.803 回答