Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按问题分组的SQL_Mysql_Sql_Group By_Subquery - Fatal编程技术网

Mysql 按问题分组的SQL

Mysql 按问题分组的SQL,mysql,sql,group-by,subquery,Mysql,Sql,Group By,Subquery,我已经编写了一个查询,它从几个数据源构建了一个小的信息表,它使用一个自制的表来引用最终组的车辆模型,这是查看数据的方式,但是,当我按车辆分组时,它会从group by中漏掉子查询列中的数字,也就是说,如果我按前缀分组,它会显示正确的数字,按车辆分组会隐藏一些数据 前缀可能与两个相似的车型相关,因此需要按车辆分组。请大家从下面的SQL查询中轻松看出我做错了什么 SELECT Vehicle, COUNT(`Chassis-No`) AS Stock, ROUND((100/COUNT(`Chas

我已经编写了一个查询,它从几个数据源构建了一个小的信息表,它使用一个自制的表来引用最终组的车辆模型,这是查看数据的方式,但是,当我按车辆分组时,它会从group by中漏掉子查询列中的数字,也就是说,如果我按前缀分组,它会显示正确的数字,按车辆分组会隐藏一些数据

前缀可能与两个相似的车型相关,因此需要按车辆分组。请大家从下面的SQL查询中轻松看出我做错了什么

SELECT Vehicle, COUNT(`Chassis-No`) AS Stock, 
ROUND((100/COUNT(`Chassis-No`)) * SUM(CASE WHEN `Vehicle Age` > '182' THEN 1 ELSE 0 END),1) AS Perc6Months, 
ROUND((100/COUNT(`Chassis-No`)) * SUM(CASE WHEN `Vehicle Age` > '365' THEN 1 ELSE 0 END),1) AS Perc12Months,
(SELECT COUNT(VIN_Prefix) FROM Orderdownload 
    INNER JOIN VehicleMatrix ON (`VIN_Prefix` LIKE 'S%' AND Prefix = LEFT(`VIN_Prefix`,2)) OR (`VIN_Prefix` NOT LIKE 'S%' AND Prefix = LEFT(`VIN_Prefix`,1)) WHERE DealerCode = 'AA12345' AND `VIN_Prefix` = IF(LEFT(`Chassis-No`,1)='S',LEFT(`Chassis-No`,2),LEFT(`Chassis-No`,1))) As Qty
FROM DealerAgedStock
    INNER JOIN VehicleMatrix AS VM
      ON (`Chassis-No` LIKE 'S%' AND Prefix = LEFT(`Chassis-No`,2)) OR (`Chassis-No` NOT LIKE 'S%' AND Prefix = LEFT(`Chassis-No`,1))    
WHERE `DL Dealer Code` = 'AA12345'
GROUP BY Vehicle
根据车辆分组,我得到以下信息:

Vehicle | Perc6Months | Perc12Months | Qty
Mondeo | 37.5 | 0 | 2 
根据前缀分组,我得到以下结果:

VIN_Prefix | Perc6Months | Perc12Months | Qty
S1 | 25 | 0 | 2
S2 | 50 | 0 | 2
理想情况下,应该这样:

Vehicle | Perc6Months | Perc12Months | Qty
Mondeo | 37.5 | 0 | 4
其中S1和S2与Mondeo车辆相关,因此它给出了子查询的第一个实例,而不是将它们相加


我的问题是:为什么小组成员不将子查询中的数字正确相加?我需要它来添加它们以获得正确的数字…

您有什么问题吗?您可以向表中添加标题吗?因此,您似乎没有显示正在使用的查询:选择中的组件名称与预期结果中的组件名称不匹配。这使得您很难知道您实际运行的是什么:您能编辑并更正问题吗?注意,现在更正以反映查询。