• postgreSQL计算总数sum if case when


    假设postgreSQL中表名为user,现在需要计算每个用户参加过的次数(is_join字段为null时不算,表中的null并不是字符串''或者字符串'Null' ,而是数据库中的null类型)

    user_namejoin_time
    finding YES
    fidding YES
    fidding Null
    hong YES
    hong YES

    所以我们只需要对name分组并计算join_time不为null的个数,sql语句如下

    SELECT 
        name, 
        SUM(CASE WHEN is_join is null THEN 0 ELSE 1 END) AS count 
    FROM "user" 
    GROUP BY name;
    SQL

    得到结果

    namecount
    fidding 2
    hong 2

    其实,直接使用count也能得出结果,在此只是展示sum case用法而已

    Happy coding!

  • 相关阅读:
    css概述五
    css概述四
    css概述三
    css概述二
    css概述
    Python的第三方web开发框架Django
    Python中的模块和包
    SQL语句优化
    数据库向Excel写入数据
    动态拼接sql语句
  • 原文地址:https://www.cnblogs.com/telwanggs/p/11056484.html
Copyright © 2020-2023  润新知