gpt4 book ai didi

MySQL 左连接缺失结果

转载 作者:行者123 更新时间:2023-11-29 07:01:21 25 4
gpt4 key购买 nike

我正在尝试查看是否有一些未使用的 SIP 号码,因此表中有一个号码列表 tmp_numbers

0203XXXXX00
0203XXXXX01
0203XXXXX02
0203XXXXX03
...

我使用的查询是:

SELECT 
n.number,
COUNT(c.did) AS count

FROM tmp_numbers n

LEFT JOIN cdr c
ON n.number = c.did

WHERE c.calldate >= '2017-01-01'

GROUP BY n.number
ORDER BY n.number

我从上述查询中获得了结果,但它忽略了在c.did上无法匹配的数字。

我的印象是,LEFT JOIN 会匹配/显示左表(tmp_numbers)上的所有内容,无论右侧是否有值(因此它将显示 NULL?)

我在这里缺少什么?

最佳答案

where条件放入左连接中。否则,它会隐式转换为 inner join,因为 where 子句中的条件会过滤所有数据,如果 calldate 为 NULL,则条件为 FALSE

LEFT JOIN cdr c ON n.number = c.did 
AND c.calldate >= '2017-01-01'

关于MySQL 左连接缺失结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43345646/

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