sql >> データベース >  >> RDS >> PostgreSQL

SQLServerに相当するPostgreSQLGROUPBY WITH ROLLUP

    with detail as (
        select
            acnt_dba_name as account,
            evt_name as event, 
            count(case reg_is_complete when true then 1 else null end) as regscomplete,
            count(case when reg_frn_pro_id > 0 and reg_is_complete = false then 1 else null end) as regsincomplete,
            count(case when reg_frn_pro_id > 0 then null else 1 end) as regsclicks
        from
            registrations_view 
            left join
            events on evt_id = reg_frn_evt_id
            left join
            accounts on acnt_id = evt_frn_acnt_id
        where
            reg_date_created < #CreateODBCDate(url.endDate)#
            AND reg_date_created > #CreateODBCDate(url.startDate)#
            and reg_is_active = true        -- only active regs
            and reg_is_test = false     -- only live registrations
        group by acnt_dba_name, evt_name
    ), account as (
        select
            account,
            '' as event, 
            sum(regscomplete) as regscomplete,
            sum(regsimcomplete) as regsincomplete,
            sum(regsclicks) as regsclicks
        from detail
        group by account
    ), total as (
        select
            'Total' as account,
            '' as event, 
            sum(regsComplete) as regsComplete,
            sum(regsImComplete) as regsInComplete,
            sum(regsClicks) as regsClicks
        from account
    )
    select * from detail
    union
    select * from account
    union
    select * from total
    order by account, event
    


    1. JSON配列値にキーを追加するにはどうすればよいですか?

    2. OracleFormsでPLAY_SOUNDする方法

    3. ln:/usr/lib/libmysqlclient.18.dylib:ファイルが存在します

    4. データベースメタデータを取得する方法