查找总数前五的标签类别,并将其他类别的总数量作为其他展示

查找总数前五的标签类别,并将其他类别的总数量作为其他展示
(select l.id as labelId,l.name as name,count(t.id) as total from cdss_task t,cdss_annotation_label al,cdss_label l where t.status=8 and t.id=al.cdss_task_id and al.label_id=l.id group by labelId,name ORDER BY total desc limit 5)
UNION ALL
select -1 as labelId,'other' as name, sum(total) as total from (
select l.id as labelId,l.name as name,count(t.id) as total from cdss_task t,cdss_annotation_label al,cdss_label l
where t.status=8 and t.id=al.cdss_task_id and al.label_id=l.id and label_id not in
(select labelId from (select l.id as labelId,l.name as name,count(t.id) as total from cdss_task t,cdss_annotation_label al,cdss_label l
where t.status=8 and t.id=al.cdss_task_id and al.label_id=l.id group by labelId,name ORDER BY total desc limit 5) a)
group by labelId,name ) b
效果:


image.png

你可能感兴趣的:(查找总数前五的标签类别,并将其他类别的总数量作为其他展示)