gpt4 book ai didi

mysql - 在一个查询中有两个(或三个?)计数 MYSQL(通过 phpmyadmin)

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

我很感激这个问题已经被问过几次了,我查看了我能找到的答案,但似乎找不到适合我的特定数据集的解决方案......(很可能是因为我的新手级别,并没有真正完全理解为查询排序各种元素的语法含义)。

我正在尝试将两个“计数”运行到一个结果表中 - 我可以很好地获得各个表 - 能够汇总结果将大大加快我的分析速度。

具体的查询是:

(1)

SELECT `PUID`,`DROID_V`,`SIG_V`,`SPEED`
, COUNT(distinct NAME) as NoExt
FROM sourcelist, main_small
WHERE sourcelist.SourcePUID = 'MyVariableHere'
AND main_small.NAME = sourcelist.SourceFileName
AND sourcelist.hasExtension = 0
GROUP BY `PUID`,`DROID_V`,`SIG_V`,`SPEED`
ORDER BY `DROID_V` ASC, `SIG_V` ASC, `SPEED`;

和(2)

SELECT `PUID`,`DROID_V`,`SIG_V`,`SPEED`
, COUNT(distinct NAME) as Ext
FROM sourcelist, main_small
WHERE sourcelist.SourcePUID = 'MyVariableHere'
AND main_small.NAME = sourcelist.SourceFileName
AND sourcelist.hasExtension = 1
GROUP BY `PUID`,`DROID_V`,`SIG_V`,`SPEED`
ORDER BY `DROID_V` ASC, `SIG_V` ASC, `SPEED`;

如果我想做的是可能的,我真的很想看看我是否可以实现第三次计数:

(3)

SELECT `PUID`,`DROID_V`,`SIG_V`,`SPEED`
, COUNT(distinct NAME) as All
FROM sourcelist, main_small
WHERE sourcelist.SourcePUID = 'MyVariableHere'
AND main_small.NAME = sourcelist.SourceFileName
GROUP BY `PUID`,`DROID_V`,`SIG_V`,`SPEED`
ORDER BY `DROID_V` ASC, `SIG_V` ASC, `SPEED`;

我想知道是否有人可以拆解我所做的事情,并让我知道我想要的事情是否可行 - 这 3 个计数有一些共同的元素,(表格、组条件和订单详细信息)区别在于 WHERE 条件。

即使使用两个计数查询,也会有空值,其中计数 A 会产生与计数 B 不同的集合 - 所以我想知道计数是否需要产生相同的基本形状(即相同的行构建,只是不同的计数值,而不是计算特定的行构建,导致其中一个计数返回空值)

最佳答案

要结合 (1) 和 (2),您可以使用 COUNT(distinct IF( .., .., ..)) 构造,然后删除 hasExtension 上的 WHERE 条件,允许您也将 (3) 组合在一起:

SELECT `PUID`,`DROID_V`,`SIG_V`,`SPEED`, 
COUNT(distinct IF(sourcelist.hasExtension=1,NAME,NULL)) as Ext,
COUNT(distinct IF(sourcelist.hasExtension=0,NAME,NULL)) as NoExt,
COUNT(distinct NAME) as `All`
FROM sourcelist, main_small
WHERE sourcelist.SourcePUID = 'MyVariableHere' AND main_small.NAME = sourcelist.SourceFileName
GROUP BY `PUID`,`DROID_V`,`SIG_V`,`SPEED` ORDER BY `DROID_V` ASC, `SIG_V` ASC, `SPEED`;

关于mysql - 在一个查询中有两个(或三个?)计数 MYSQL(通过 phpmyadmin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122059/

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