gpt4 book ai didi

mysql - 复杂(或不可能)从 mysql 表中选择

转载 作者:行者123 更新时间:2023-11-29 06:58:24 24 4
gpt4 key购买 nike

我有一个像这样的mysql表:

Person     x     minutes     population
p1 F 3 p1p2p3p4
p2 B 1 p1p2p3p4
p1 B 7 p1p2p3
p3 F 2 p2p3p1
p1 F 3 p1p2
p1 B 4 p2p3p1
p2 C 3 p1p2p3
p2 B 1 p2p1p3
p2 F 7 p2p3p4
p3 B 2 p2p3p4
p1 F 3 p2p1p3p4

我需要为每个Person选择的是:

1- 计算 x 等于 F 的次数;

2- 计算 x 等于 B 的次数;

3- 当出现在变量population中时,将分钟的值求和;

然后,生成的选择将如下所示:

Person    nF    nB    tminutes
p1 3 2 24
p2 1 2 36
p3 1 1 33

我不确定这是否可能。我尝试过类似的事情:

SELECT 
Person,
sum(x='F') as nF,
sum(x='B') as nB,
sum(minutes) WHERE population IS LIKE '%Person%' as tminutes
FROM myTable
GROUP BY Person

任何想法都非常受欢迎!谢谢。

最佳答案

您可以使用以下解决方案,使用子选择:

SELECT 
Person,
SUM(IF(x = 'F', 1, 0)) AS nF,
SUM(IF(x = 'B', 1, 0)) AS nB,
(SELECT SUM(minutes) FROM test_table WHERE INSTR(population, t1.Person) > 0) AS tminutes
FROM test_table t1
GROUP BY Person

此查询的结果:

Person | nF | nB | tminutes
---------------------------
p1 | 3 | 2 | 27
p2 | 1 | 2 | 36
p3 | 1 | 1 | 33

关于mysql - 复杂(或不可能)从 mysql 表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44678906/

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