gpt4 book ai didi

MySQL - 组合 2 个计数,除非两个计数中都存在值

转载 作者:行者123 更新时间:2023-11-30 01:16:14 25 4
gpt4 key购买 nike

我在 1 个表中有 2 列,我需要将每列的 COUNT() 组合在一起。但是,如果两列都有值,则该行只需计算一次。

这是我尝试过但不起作用的方法:

SELECT SUM( IF (table1.col1 IS NOT NULL OR table1.col2 IS NOT NULL, 1, 0) )
FROM table1 INNER JOIN table2 ON table2.col1 = table1.id
INNER JOIN table3 ON table3.id = table2.personid
WHERE table3.otherid = 1
AND table1.col1 > '2000-01-01';*


Sample Data:
Table 1
Col1......Col2
04/17/2013........04/17/2013
null..........04/17/2013
03/26/2013.......02/17/2013
03/25/2013.........null
null.........null
02/22/2013...........02/21/2013

结果应该 = 5。因为 5 条记录在每一列中至少有 1 个日期,但两列中都有日期的记录只计算一次

最佳答案

想通了。

SELECT COUNT(*)
FROM table1 INNER JOIN table2 ON table2.col1 = table1.id
INNER JOIN table2 ON table3.id = table2.personid
WHERE table3.otherid = 1
AND (table1.col1 > '2000-01-01' OR table1.col2 > '2000-01-01');

关于MySQL - 组合 2 个计数,除非两个计数中都存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030956/

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