gpt4 book ai didi

MySQL - 选择多列的百分比

转载 作者:行者123 更新时间:2023-11-29 17:51:32 25 4
gpt4 key购买 nike

我有一个类似于下图的表格

enter image description here

我的目标是编写一个查询,该查询应该为每个组织(即电子表格中的每一行)输出 id 和名为 pvt 的列

pvt 列的值应基于以下逻辑:

如果一个组织的交付百分比:

  1. 使用汽车制造,与其他车辆相比超过90%,那么pvt应该汽车

  2. 使用货车制造,与其他车辆相比超过90%,那么pvt应该货车

  3. 使用客车制造,与其他车辆相比超过90%,那么pvt应该教练

  4. 使用客车制造,与其他车辆相比超过90%,那么pvt应该卡车

如果这些车辆列中没有一个达到组织交付量的 90%,那么

  1. 如果 Cars + Vans 总计 90%,则 pvt 应为 Cars & Vans
  2. 如果客车 + 卡车总计90%,则pvt应为客车和卡车

作为后备方案,其他任何内容都应将 pvt 呈现为 Mixed

如果我要运行我想要的查询,我会得到这样的结果:

enter image description here

谢谢大家。

最佳答案

可以这样做,

SELECT
CASE WHEN ((truck / t.vehicles) * 100) > 90 THEN 'Truck'
WHEN ((van / t.vehicles) * 100) > 90 THEN 'Van'
WHEN ((coach / t.vehicles) * 100) > 90 THEN 'Coach'
WHEN (((truck/ t.vehicles) * 100) + ((van / t.vehicles) * 100)) > 90 THEN 'Truck and Van'
WHEN (((coach / t.vehicles) * 100) + ((lorry/ t.vehicles) * 100)) > 90 THEN 'Lorry and Coach'
ELSE 'Mixed'
END AS `pvt`

FROM Table f
INNER JOIN (SELECT t.id,SUM(van) + SUM(truck) + SUM(coach) + SUM(lorry) AS `vehicles` FROM Table t GROUP BY t.id) t ON t.id=f.id

关于MySQL - 选择多列的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49284801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com