gpt4 book ai didi

mysql - 带有计数的sql查询

转载 作者:行者123 更新时间:2023-12-01 00:01:58 24 4
gpt4 key购买 nike

我确定这很容易,但我有一个 block 我正在尝试针对具有(例如简化)的单个表编写一些 sql

RunName, Result
foo, pass
foo, pass
foo, fail
foo, pass
boo, pass
boo, fail
boo, fail
soo, pass

我是一个查询,将返回每个名称的通过或失败计数

类似失败的东西

foo, 1
boo, 2
soo, 0

并通过

foo, 3
boo, 1
soo, 1

最佳答案

通常您会执行简单的 COUNT 和 GROUP BY RunName,但是 that will not show "zero results" like soo's fails .

即使结果为零(在 MySQL 上),这也应该有效

SELECT RunName, SUM(Result='fail')
FROM TableA
GROUP BY RunName;

演示 here .

编辑:正如 Aaron 指出的那样,它只适用于 MySQL,它也适用于 SQL Server;

SELECT  RunName, SUM(CASE WHEN Result = 'fail' THEN 1 ELSE 0 END) as fails
FROM TableA
GROUP BY RunName

演示 here .

Edit2:正如 Marcus 指出的那样,这可能不是一种非常适合索引的查询方式,因此如果您有主键,您最好使用计数/组进行自连接以获得正确的结果;

SELECT a.RunName, COUNT(b.Result)
FROM TableA a LEFT JOIN TableA b ON a.id=b.id AND b.Result='fail'
GROUP BY RunName

演示 here .

关于mysql - 带有计数的sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9487627/

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