SQL搜索具有相同Name列的条目?

时间:2012-07-09 14:33:12

标签: mysql

我们有一张车辆表格,其中包含VehicleName列。我正在研究一个用户有多辆同一VehicleName车辆的错误。我有这个查询来帮助返回多次使用的VehicleNames:

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

首先,它很慢。这不是太糟糕,因为这不会投入生产;它只是为了帮助修复bug。其次,这将返回每个VehicleName,即使是计数为1的那些,这些是我对此应用程序不感兴趣的VehicleNames。我不记得如何命名子查询,因此我无法添加where来限制它。

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

1 个答案:

答案 0 :(得分:4)

你是否试图以某种丑陋的方式做到这一点?

SELECT VehicleName, COUNT(*) as TOTAL
FROM Vehicles
GROUP BY VehicleName
HAVING TOTAL > 1
ORDER BY TOTAL DESC;