gpt4 book ai didi

mysql - 将 mysql 查询行转置为列

转载 作者:可可西里 更新时间:2023-11-01 07:02:55 32 4
gpt4 key购买 nike

我有一个生成以下结果的简单查询:

SELECT month,transporttype,count(transporttype) as loads 
from deliveries
group by month,transporttype

我想将行转置为列。

我知道 mysql 没有数据透视函数,所以需要联合,但不是 100% 确定。

在此先感谢您的帮助。

最佳答案

你可以用这样的交叉表来做 -

SELECT
`year`,
`month`,
SUM(IF(`transporttype` = 'inbound', 1, 0)) AS `inbound`,
SUM(IF(`transporttype` = 'LocalPMB', 1, 0)) AS `LocalPMB`,
SUM(IF(`transporttype` = 'Long Distance', 1, 0)) AS `Long Distance`,
SUM(IF(`transporttype` = 'shuttle', 1, 0)) AS `shuttle`,
SUM(IF(`transporttype` = 'export', 1, 0)) AS `export`,
SUM(IF(`transporttype` = 'Extrusions-LongDistance', 1, 0)) AS `Extrusions-LongDistance`,
SUM(IF(`transporttype` = 'Extrusions-Shuttle', 1, 0)) AS `Extrusions-Shuttle`
FROM `deliveries`
GROUP BY `year`, `month`

换句话说,您应该将 transporttype 值移动到查找表中,并在该表中包含 transporttype_id。

关于mysql - 将 mysql 查询行转置为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685601/

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