gpt4 book ai didi

MySql 选择计数...不喜欢

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

我有这个问题

SELECT 
COUNT(
CASE
WHEN restricted LIKE '%us%' THEN 2
ELSE 1
END) AS totalcount
FROM
reviews
WHERE
restricted LIKE '%us%'

这会计算列中出现的值(如“us”)的总数(受限)。此列以这种“不寻常”的方式由多选复选框中的值填充:

*us*ca*uk* 等

这行得通。没问题。

现在,我需要计算这个值 (us) 没有出现的位置。我试过这样做,一个“经典”。

SELECT 
COUNT(
CASE
WHEN restricted NOT LIKE '%us%' THEN 2
ELSE 1
END
) AS totalcount
FROM
reviews
WHERE
restricted NOT LIKE '%us%'

我已经声明语句 NOT LIKE 但现在...问题...它还计算“受限”列未填充的行(某些列表不使用此列)。而且计数错误。

有人可以帮忙吗?

最佳答案

不需要 CASE 语句。您的 WHERE 子句意味着 ELSE 永远不会被命中。

匹配“我们”:

SELECT 
COUNT(restricted) AS 'Count matching *us*'
FROM
reviews
WHERE
restricted IS NOT NULL
AND restricted LIKE '%us%'

不匹配“我们”(包括 null):

SELECT 
COUNT(restricted) AS 'Count not matching *us*'
FROM
reviews
WHERE
restricted IS NULL
OR restricted NOT LIKE '%us%'

关于MySql 选择计数...不喜欢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552350/

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