在oralce的SQL中假设一个字段有三种不一样的返回值如何进行不同值的统计并与原SQL做连接查询
可以使用CASE语句进行条件判断,然后使用SUM函数进行统计。例如:
SELECT t1.id, t1.name, SUM(CASE WHEN t2.value = 'A' THEN 1 ELSE 0 END) AS count_A, SUM(CASE WHEN t2.value = 'B' THEN 1 ELSE 0 END) AS count_B, SUM(CASE WHEN t2.value = 'C' THEN 1 ELSE 0 END) AS count_C FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id GROUP BY t1.id, t1.name
这个查询会统计table2中value为A、B、C的行数,并将结果与table1做连接查询,最终输出每个id和name对应的三个值的统计结果。
原文地址: https://www.cveoy.top/t/topic/YoB 著作权归作者所有。请勿转载和采集!