mysql– 如何在具有外部联接和分组依据的查询中包含NULL值

mysql– 如何在具有外部联接和分组依据的查询中包含NULL值,第1张

概述我有两个包含以下示例数据的表:Table 1: `item_name` | item_id | item_desc | | 1 | apple | | 2 | orange | | 3 | banana | | 4 | grape | | 5 | mango |

我有两个包含以下示例数据的表:

table 1: `item_name`| item_ID | item_desc || 1       | apple     || 2       | orange    || 3       | banana    || 4       | grape     || 5       | mango     |table 2: `user_items`| user_ID | item_ID || 127     | 1       || 127     | 2       || 127     | 4       || 128     | 1       || 128     | 5       |

我正在尝试使用以下查询选择user_ID 127和128中的每个item_ID以及相应的item_desc:

SELECT IFNulL(COUNT(ui.user_ID),0) AS total,in.item_desc FROM user_items AS ui RIGHT OUTER JOIN item_name AS in     ON ui.item_ID = in.item_ID WHERE ui.user_ID IN (127,128) GROUP BY ui.item_IDORDER BY total DESC

上述查询的结果是:

| total | item_desc || 2     | apple     || 1     | orange    || 1     | grape     || 1     | mango     |

但是它没有包含item_ID 3,banana,我想用RIGHT OUTER JOIN检索它.我希望得到一个看起来像这样的结果:

| total | item_desc || 2     | apple     || 1     | orange    || 1     | grape     || 1     | mango     || 0     | banana    |

有没有办法修改查询以最终得到上面的预期结果?
感谢您的时间.@H_419_36@最佳答案您的查询使用count时出现了一点错误.这有效.

select count(ui.item_ID) as total,in.item_descfrom   item_name `in`       left join user_items ui on ui.item_ID = in.item_ID                                        and ui.user_ID in (127,128)group by       in.item_descorder by total desc
总结

以上是内存溢出为你收集整理的mysql – 如何在具有外部联接分组依据的查询中包含NULL值全部内容,希望文章能够帮你解决mysql – 如何在具有外部联接和分组依据的查询中包含NULL值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1167873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存