sql >> Databáze >  >> RDS >> Mysql

Filtrování spojené tabulky

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<>fiddle zde



  1. Proč rekurzivní CTE v Transact-SQL vyžaduje UNION ALL a ne UNION?

  2. Oracle PL/SQL:Dynamický příklad SQL pomocí okamžitého spuštění

  3. Jak spočítat řádky, které obsahují nenulové hodnoty v sql

  4. Předat více hodnot v jednom parametru