Count number of records returned by group by

前端 未结 13 1842
梦毁少年i
梦毁少年i 2020-11-30 20:01

How do I count the number of records returned by a group by query,

For eg:

select count(*) 
from temptable
group by column_1, column_2, column_3, co         


        
13条回答
  •  悲哀的现实
    2020-11-30 20:43

    Following for PrestoDb, where FirstField can have multiple values:

    select *
                , concat(cast(cast((ThirdTable.Total_Records_in_Group * 100 / ThirdTable.Total_Records_in_baseTable) as DECIMAL(5,2)) as varchar), '%') PERCENTage
    from 
    (
        SELECT FirstTable.FirstField, FirstTable.SecondField, SecondTable.Total_Records_in_baseTable, count(*) Total_Records_in_Group
        FROM BaseTable FirstTable
        JOIN (
                SELECT FK1, count(*) AS Total_Records_in_baseTable 
                FROM BaseTable
                GROUP BY FK1
            ) SecondTable
        ON FirstTable.FirstField = SecondTable.FK1
        GROUP BY FirstTable.FirstField, FirstTable.SecondField, SecondTable.Total_Records_in_baseTable
        ORDER BY FirstTable.FirstField, FirstTable.SecondField
    ) ThirdTable
    

提交回复
热议问题