gpt4 book ai didi

mysql - 使用 CASE WHEN THEN 获取两个条件之间的公共(public)值

转载 作者:行者123 更新时间:2023-11-30 22:07:26 26 4
gpt4 key购买 nike

我需要获取所有具有TIME 差异的用户的配置文件

  1. 少于 90 天:0
  2. 90 天以上:1
  3. 小于 90 但大于 84:2

现在我写了一个类似这样的查询:

SELECT COUNT(*) AS COUNT,FILTERED,TYPE,SEEN,CASE
WHEN DATEDIFF(NOW( ) , `TIME` ) <= 90 AND DATEDIFF(NOW( ) , `TIME` ) >= 84 THEN 2
WHEN DATEDIFF(NOW( ) , `TIME` ) <=84 THEN 0
WHEN DATEDIFF(NOW( ) , `TIME` ) >90 THEN 1
END AS TIME1 FROM newjs.CONTACTS WHERE SENDER='1' AND TYPE IN('A','D','I','E','C') AND RECEIVER NOT IN('5733000','7277453','9535153','9577787','9649101','99398691','99402429') GROUP BY FILTERED,TYPE,SEEN,TIME1

上述代码的问题是 TIME1 = 2 中包含的计数在 TIME1 = 0 的情况下不包含在内。我知道我的代码是这样写的,但我怎样才能达到预期的效果呢?

最佳答案

你不能。假设您根据年龄将人分为 child 和成人。然后你决定也想要一群青少年。如果你只有一列,那么之后如果你想选择 child ,你将不得不选择具有 child 或青少年值(value)的人。如果需要,您可以创建一个新列来识别青少年。但是一列不能有同一行的两个值,这似乎是您想要的。

关于mysql - 使用 CASE WHEN THEN 获取两个条件之间的公共(public)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41167477/

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