首页 问答 聚合SQL这样写是有问题的么?
问题详情

根据需求,我们需要编写SQL查询语句来统计每个基地的地块面积和设备数量。假设我们有以下三张表:
基地 base 表,包含 base_id 和 base_name 字段。
地块 plot 表,包含 plot_id、plot_name,area, 和 base_id 字段。
设备 device 表,包含 device_id、device_name、device_type、device_status 和 base_id 字段

使用SQL的查询语句

SELECT
    b.base_id,
    b.base_name,
    SUM(p.area) AS total_area,
    COUNT(DISTINCT d.device_id) AS device_count
FROM 
    base b
LEFT JOIN 
    plot p ON b.base_id = p.base_id
LEFT JOIN 
    device d ON b.base_id = d.base_id AND d.device_status = '上线'
GROUP BY 
    b.base_id, b.base_name;

目前使用的数据库为达梦数据库,版本8版本。 这个聚合SQL这样写有问题么?

回答

SUM(p.area)和COUNT(d.device_id) 可能会返回 NULL,需要用coalesce函数将null转换成0

SUM(p.area)和COUNT(d.device_id) 可能会返回 NULL,需要用coalesce函数将null转换成0

SUM(p.area)和COUNT(d.device_id) 可能会返回 NULL,需要用coalesce函数将null转换成0

版权:言论仅代表个人观点,不代表官方立场。转载请注明出处:https://www.stntk.com/question/1153.html

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

70068002

客服电话

400-888-8888

客服邮箱

70068002@qq.com

扫描二维码

关注微信公众号

扫描二维码

手机访问本站