gpt4 book ai didi

mysql,在表中查找频率

转载 作者:行者123 更新时间:2023-11-29 02:27:57 25 4
gpt4 key购买 nike

我在 PHPMyAdmin 中有一个包含六列的表格。每个单元格中都有一个名称。

现在我想知道每个名称在每一列中出现的频率。

例如:

column1  column2  column3
name1 name3 name2
name1 name2 name2
name2 name3 name1

然后我需要一个列表:

column1           column2   column3
name1 - 2 0 1
name2 - 1 1 2
name3 - 0 2 0

我试着玩:

SELECT Count(*) FROM aanmeldingen2013 WHERE column1 LIKE name1.

谁能帮我生成这个输出的 SQL 代码?

最佳答案

我认为这是最有效的方法:

select name,
sum(n = 1) as Column1Cnt,
sum(n = 2) as Column1Cnt,
sum(n = 3) as Column1Cnt
from (select (case when n.n = 1 then column1
when n.n = 2 then column2
when n.n = 3 then column3
end) as name,
n.n
from t cross join
(select 1 as n union all select 2 union all select 3) n
) t

这应该比 union all 查询更有效,因为它只扫描原始表一次。我在这里展示了三列的示例(如您的示例数据中所示)。应该清楚如何将其概括为六列。

关于mysql,在表中查找频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081557/

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