您当前的位置: 首页 >  sql

Dongguo丶

暂无认证

  • 0浏览

    0关注

    472博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

mysql分段统计

Dongguo丶 发布时间:2018-03-29 14:12:56 ,浏览量:0

场景模拟 有一个订单表 表中classify_alias 字段分别有线路,导游,酒店,游轮,租车五个类别

使用一条sql查询出这五个类别订单的数量

表中有很多条数据, 每条数据拥有一个状态字段,现在需要统计不同状态的数据有多少条.

1、使用sum (if())
SELECT

    SUM(

        IF (classify_alias = "tourline",1,0)

    ) tourline,

    SUM(

        IF (classify_alias = "guide", 1, 0)

    ) guide,

    SUM(

        IF (classify_alias = "hotel", 1, 0)

    ) hotel,

    SUM(

        IF (

            classify_alias = "cruise", 1, 0 )

    ) cruise,

    SUM(

        IF ( classify_alias = "rentcar",1,0)

    ) rentcar

FROM

    v_product_order

WHERE

    parent_order_no = 0

AND customer_company_id = 1

2、case when

2.1count

 

SELECT

    COUNT(

        (

            CASE

            WHEN classify_alias = 'tourline' THEN

                1

            END

        )

    ) tourline,

    COUNT(

        (

            CASE

            WHEN classify_alias = 'guide' THEN

                1

            END

        )

    ) guide,

    COUNT(

        (

            CASE

            WHEN classify_alias = 'hotel' THEN

                1

            END

        )

    ) hotel,

    COUNT(

        (

            CASE

            WHEN classify_alias = 'cruise' THEN

                1

            END

        )

    ) cruise,

    COUNT(

        (

            CASE

            WHEN classify_alias = 'rentcar' THEN

                1

            END

        )

    ) rentcar

FROM

    v_product_order

WHERE

    parent_order_no = 0

AND customer_company_id = 1

2.2sum

SELECT

    sum(case classify_alias when 'tourline' then 1 else 0 end)tourline,

    sum(case classify_alias when 'guide' then 1 else 0 end)guide,

    sum(case classify_alias when 'hotel' then 1 else 0 end)hotel,

    sum(case classify_alias when 'cruise' then 1 else 0 end)cruise,

    sum(case classify_alias when 'rentcar' then 1 else 0 end)rentcar

FROM

    v_product_order

WHERE

    parent_order_no = 0

AND customer_company_id = 1
关注
打赏
1638062488
查看更多评论
立即登录/注册

微信扫码登录

0.0362s