更新时间:2023-10-07 16:26:58
尝试使用group by和case语句选择名称,SUM( CASE WHEN subject = ' sub1 ' 和 attendance = 1 那么 1 ELSE 0 END ) as sub1,
SUM( CASE WHEN subject = ' sub2' 和 attendance = 1 那么 1 ELSE 0 END ) as sub2
来自表1
group by name
hai all
i have one table like
sid name subject attendance
1 jhon sub1 1
2 toni sub1 0
3 danial sub1 1
4 jafer sub1 1
5 jhon sub2 1
6 toni sub2 1
7 danial sub2 1
8 jafer sub2 0
here subject names are dynamic we dont know about subject name before writing query i need output like
name sub1 sub2
jhon 1 1
toni 0 1
danial 1 1
jafer 1 0
am unable to write query please help me
thanks in advance..
try with group by and case statementselect name, SUM(CASE WHEN subject = 'sub1' and attendance = 1 THEN 1 ELSE 0 END) as sub1, SUM(CASE WHEN subject = 'sub2' and attendance = 1 THEN 1 ELSE 0 END) as sub2 from Table1 group by name