sql面试题

 数据表

select * from test01

 

 查询结果是

 
sql面试题
 

 

要求实现的效果如下

/**
日期               胜      负
2011-09-20          2          2
2011-09-21          1          2
**/

 哎,当时没有写出来,无语了,当时不知道用哪个函数了,只想到了group by  和 sum函数

脑子里面空荡荡的,回来看看我的博客,以前写过的oracle高级函数,不一会就搞定了。哎,我真无语,当时,我说可以上网查资料吗,他说不可以,我无奈,即使是正式的工作上班,不会的还上网查资料呢,我又不是什么天才,肯定有不会的地方, 既然不让上网查。

下面这是我写的代码,仅供参考

 

select t.data1 日期,sum( case t.value1 when
                    '胜' then '1'
                    else '0' end) 胜,
                      sum( case t.value1 when
                    '胜' then '0'
                    else '1' end) 负
from test01 t group by t.data1

 

效果如下


sql面试题
 

你可能感兴趣的:(sql)