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

请求编写SQL语句计算每道菜品的平均评分

计算所有菜品的平均评分(含无评分菜品显示0)

数据表结构

dish表

idname
1pizza
2wok
3sushi

约束:id 为主键

rating表

dishrateuser
1101
142
221

约束:dish 是关联 dish.id 的外键

需求说明

计算每道菜品的平均评分,必须包含所有菜品,无评分的菜品平均评分显示为0,预期结果如下:

dishIDaver. rate
17
22
30

解决方案SQL语句

SELECT 
    d.id AS dishID,
    COALESCE(AVG(r.rate), 0) AS `aver. rate`
FROM 
    dish d
LEFT JOIN 
    rating r ON d.id = r.dish
GROUP BY 
    d.id;

关键逻辑说明

  1. LEFT JOIN 关联表:以dish表为主表左连接rating表,确保所有菜品记录都被保留,哪怕该菜品没有任何评分数据。
  2. AVG() 计算平均值:对分组后的评分计算平均值,无评分的菜品会返回NULL。
  3. COALESCE() 替换NULL:将AVG()返回的NULL替换为0,满足无评分菜品显示0的要求。
  4. GROUP BY 分组:按菜品id分组,保证每个菜品仅输出一条平均评分结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:55:26