gpt4 book ai didi

MySQL IFNULL 未按预期在没有匹配记录的表上返回 0

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

我正在尝试计算用户使用以下命令执行的搜索次数:

SELECT IFNULL(COUNT(`searches`.`internalKey`),0) AS `activity`, `modUser`.`username`, `modUser`.`active`, `modUser`.`id` AS `customer_id`,`UserGroupMembers`.`user_group`, `Profile`.*, `extdata`.*
FROM `modx_users` AS `modUser`
LEFT JOIN `modx_user_attributes` `Profile` ON `modUser`.`id` = `Profile`.`internalKey`
LEFT JOIN `modx_member_groups` `UserGroupMembers` ON `modUser`.`id` = `UserGroupMembers`.`member`
LEFT JOIN `modx_gssi_user_ext_data` `extdata` ON `extdata`.`internalKey` = `modUser`.`id`
LEFT JOIN `modx_gssi_user_queries` `searches` ON `searches`.`internalKey` = `modUser`.`id`
WHERE (`UserGroupMembers`.`user_group` IN (2))
GROUP BY `searches`.`internalKey`
ORDER BY `Profile`.`fullname`;

如果用户[由其internaKEy标识]没有执行任何搜索,则modx_gssi_user_queries表中没有记录并且应该为NULL,但IFNULL语句似乎没有像我预期的那样工作。

我在这里做错了什么。

最佳答案

不要对表中可能没有匹配项的列进行GROUP BY,因为这会将所有没有搜索的用户合并到一组中。使用GROUP BY modUser.id

关于MySQL IFNULL 未按预期在没有匹配记录的表上返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468444/

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