gpt4 book ai didi

mysql开关大小写

转载 作者:可可西里 更新时间:2023-11-01 07:13:59 24 4
gpt4 key购买 nike

我有一个如下所示的查询结构,我想知道是否有一种方法可以使用 CASE 语句或通过其他方式将选择查询编写为一个查询,以便根据值将值插入到适当的变量中。

DECLARE passes INT;
DECLARE fails INT;
..

SELECT count(score)
INTO passes
FROM scores
WHERE score >= 40;

SELECT count(score)
INTO fails
FROM scores
WHERE score < 40;

Murdoch 想出了一个解决这个问题的巧妙方法,我只需要对其进行一个更改,将每个值放入相应的变量

SELECT * 
INTO passes, fails
FROM (SELECT SUM(CASE
WHEN score >= 40 THEN 1
ELSE 0
END) AS _passes,
SUM(CASE
WHEN score < 40 THEN 1
ELSE 0
END) AS _fails
FROM scores) AS x;

最佳答案

您可以通过为每个分数做一个案例并返回 1 或 0 来做到这一点。然后将整个事情包装在一个 SUM(而不是一个 COUNT)中,实际上为每个与案例匹配的实例添加一个。

SELECT 
SUM(CASE WHEN score >= 40 THEN 1 ELSE 0 END) AS passes,
SUM(CASE WHEN score < 40 THEN 1 ELSE 0 END) AS fails
FROM scores

关于mysql开关大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5282637/

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