java-zh 2021-03-24 18:05 采纳率: 80%
浏览 138
已采纳

union all 查询多个 count

select * from (
select count(1) from pf_company_info where delete_flag = 0 and cate_one = 2 and cate_two like '%201%'
UNION ALL
select count(1) from pf_company_info where delete_flag = 0 and cate_one = 1 and cate_two like '%102%'
UNION ALL
select count(1) from pf_company_info where delete_flag = 0 and cate_one = 3 and cate_two like '%301%'
)a

现在的结果是

count

89

0

0

我想变成

count1 count2 count

89           0          0

请求大佬帮忙!

 

  • 写回答

2条回答 默认 最新

  • 沐川 2021-03-24 18:45
    关注

    如下:

    select (
    select count(1) from pf_company_info where delete_flag = 0 and cate_one = 2 and cate_two like '%201%'
    ) as count1,(
    select count(1) from pf_company_info where delete_flag = 0 and cate_one = 1 and cate_two like '%102%'
    ) as count2,(
    select count(1) from pf_company_info where delete_flag = 0 and cate_one = 3 and cate_two like '%301%'
    ) as count3
    from dual;
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?