gpt4 book ai didi

sql - 如何使用 SQLite 将值转换为列?

转载 作者:行者123 更新时间:2023-12-03 17:39:47 24 4
gpt4 key购买 nike

我用这段代码创建了一个名为 tbl 的表:

CREATE TABLE tbl
(
`Year` int,
`Album` varchar(255),
`Artist` varchar(255),
`Label` varchar(255),
`Genre` varchar(255),
`id` int
)
;

INSERT INTO tbl
(
`Year`,
`Album`,
`Artist`,
`Label`,
`Genre`,
`id`
)
VALUES
(1990, "Greatest Hits", "The Best", "Least Def", "hip hop", 123),
(1990, "Greatest Hits", "The Best", "Roofless", "hip hop", 123),
(1990, "4-Boyz", "3 Guyz", "Pacific", "pop-dance", 23),
(1990, "4-Boyz", "3 Guyz", "Atlantic", "pop-dance", 23)
;

我想运行一个查询来显示每年的流派计数,而不是因为 Label 列而重复计算。我想要这个:

Year, hip hop, pop-dance
1990, 1, 1

我必须运行什么查询才能得到我想要的?

最佳答案

因为你不能使用pivot,所以你可以这样做。

select year,
count(distinct case when `Genre` = 'hip hop' then 1 end) as hiphop,
count(distinct case when `Genre` = 'pop-dance' then 1 end) as popdance
from tbl
group by year

关于sql - 如何使用 SQLite 将值转换为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170958/

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