You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联ic_items与ic_flames表生成投票统计列?

补全关联查询以统计物品投票数

没问题,我来帮你完成这个关联查询,实现统计每个物品投票数的需求。

首先,咱们需要用**左连接(LEFT JOIN)**来关联两张表,这样即使某个物品没有任何投票,也能在结果集中显示(投票数为0)——如果用内连接的话,没投票的物品会被直接过滤掉,左连接显然更符合全量物品统计的需求。然后还需要用GROUP BY按物品的唯一标识分组,才能正确计算每个物品的投票总数。

完整的SQL语句如下:

SELECT 
    ic_items.item_id,
    ic_items.name,
    ic_items.description,
    COUNT(ic_flames.flame_id) AS flame_counter
FROM ic_items
LEFT JOIN ic_flames ON ic_items.item_id = ic_flames.item_id
GROUP BY ic_items.item_id, ic_items.name, ic_items.description;

关键部分说明:

  • LEFT JOIN ic_flames ON ic_items.item_id = ic_flames.item_id:通过item_id把物品表和投票表关联起来,确保所有物品都能出现在结果里,哪怕它没有任何投票记录。
  • COUNT(ic_flames.flame_id):统计每个物品对应的投票条数,因为无投票的物品对应的flame_id是NULL,COUNT会自动忽略NULL值,所以这类物品的投票数会显示为0,完全符合需求。
  • GROUP BY ic_items.item_id, ic_items.name, ic_items.description:根据物品的所有非聚合字段分组,确保每个物品只返回一行统计结果(不同数据库对GROUP BY的语法要求略有差异,但显式列出所有非聚合字段是最稳妥的写法)。

用你提供的测试数据运行这个查询,会得到如下结果:

item_idnamedescriptionflame_counter
1PepperinoHot sauce from Argentina2
2Vamos el CouchieroHot sauce from Spain1

内容的提问来源于stack exchange,提问作者FoxOnFireHD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:59:32