sql >> Databasteknik >  >> RDS >> Mysql

Filtrera en sammanfogad tabell

select 
    case when e.published and a.type not in('large','medium') then 'Met condition' else 'Not met condition' end conditions
    , count(distinct e.id) totals
    , group_concat(distinct e.id) event_ids
    , count(distinct e.id) * 100.0 / x.total_cnt percentage
from events e
join Attributes a on a.event_id = e.id
cross join (select count(*) as total_cnt from events) x
group by case when e.published and a.type not in('large','medium') then 'Met condition' else 'Not met condition' end, total_cnt

db<>fiol här



  1. Hur man beställer var i fält i Laravel

  2. Förstå SQL Server LOCKS på SELECT-frågor

  3. Uppdatera extern databas vid avslutad kurs

  4. Är sp_-prefixet fortfarande ett nej-nej?