SQL 查询以找出哪个 Shift 生产的柴油发动机最多

SQL Query to find out which Shift produced most diesel engines

问题:哪个班次 ('Shiftnumber') 生产的柴油车 ('engine-type') 最多?

我有table生产历史

CREATE TABLE productionhistory (
ID int AUTO_INCREMENT PRIMARY KEY NOT NULL,
Shiftnumber int NOT NULL,
Carid int NOT NULL);

和table车辆

CREATE TABLE vehicle (
ID int AUTO_INCREMENT PRIMARY KEY NOT NULL,
`engine-type` varchar(6) NOT NULL);

vehicle.ID 是 productionhistory.carid 的外键。

有人可以帮我解决这个问题吗?

您需要将 productionhistory 与 vehicle 结合起来以获得 (Shiftnumber, enginetype) 对。现在您可以简单地使用 WHERE engineType = 'diesel' GROUP BY ... ORDER BY n DESC 来获取该类型大多数生产引擎的顺序。

SELECT Shiftnumber
     , COUNT(*) AS n
  FROM productionhistory AS ph
  JOIN vehicle AS v
    ON ph.carid = v.id
   AND engineType = 'diesel'
 GROUP BY Shiftnumber
 ORDER BY n DESC
;