一道SQL语句面试题,关于group by
表内容:2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 1 2
------------------------------------------
create table #tmp(rq varchar(10),shengfu nchar(1))
insert into #tmp values('2005-05-09','胜')
insert into #tmp values('2005-05-09','胜')
insert into #tmp values('2005-05-09','负')
insert into #tmp values('2005-05-09','负')
insert into #tmp values('2005-05-10','胜')
insert into #tmp values('2005-05-10','负')
insert into #tmp values('2005-05-10','负')
select * from #tmp
select rq, shengfu from #tmp group by rq,shengfu
select rq, shengfu from #tmp group by shengfu,rq
select rq, shengfu,sum(shengfu) from #tmp group by shengfu,rq
1)select rq,
sum(case when shengfu='胜' then 1 else 0 end)'胜',
sum(case when shengfu='负' then 1 else 0 end)'负'
from #tmp
group by rq
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zh520/archive/2009/04/17/4087781.aspx
分享到:
相关推荐
几个经典的sql面试题 大家一起学习 几个经典的sql面试题 大家一起学习
SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。 ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布...用SQL语句写一个分页? 如何用存储过程写分页?
写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,大量的Group By和order by,没有limit等等.必要的时候,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询结果,explain每一个sql语句 (5)....
5. Sql 关键字 SELECT FROM GROUP ORDER 等的执行顺序是乍么排序的,请列出 来。 6. web 优化方案(请简述) 7. <1>sql 语句取得最新的一条记录 Public static void main(string[] agrs) { Int k=1; If(k>0 || ...
mysql必备面试题 请解释MySQL是什么,它的用途是什么? 描述一下MySQL的主要特性和优点。 解释一下MySQL中的ACID和表的关系是什么? 描述一下MySQL中的索引是什么,它的作用是什么? 解释一下MySQL中的SQL和NoSQL有...
根据以下要求,编写SQL查询语句: 查询所有客户的订单总数和总金额。 查询每个客户的订单数和总金额,按总金额从高到低排序。 查询每个客户的订单数和每个产品的销售数量,按销售数量从高到低排序。
MySQL常见面试题: 1. 什么是数据库?什么是关系数据库管理系统(RDBMS)? 2. 解释主键、外键和索引在数据库中的作用。 3. 什么是事务?如何确保事务的原子性和一致性? 4. 如何创建一个数据库和表格? 5. 如何向...
效率低的一个语句, 仅供学习参考使用(在group by 之后不能使用where , 只能使用 having, 在group by 之前司以使用where, 即表示对过滤后的结果分组): mysql> select employee921.id,employee921.name,employee...
A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C.Select操作的Sql语句只能由ExecuteReader()方法来执行; D....
Q0032 Oracle的集合操作函数,如sum(),avg(),max(),min(),与select,where,grouby,having的先后顺序,使用方法 Oracle集合查询基本知识,只有进行分组的列,才可以取在集合查询SQL语句中取字段,先Group By,再Having...
1、oracle去除重复的记录并保留序号最小的记录,设计sql语句 select min(id) from 表 group by id ; 2、mybatis怎么使用 mybatis属于ORM框架,封装了jdbc。可以通过注解或xml配置文件两种方式来使用。mybatis...
C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的...
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
答:JDBC数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问。 什么情况下不建议使用Hibernate? 答:当数据量大,并且表关系复杂的时候不建议使用。 sleep()和wait()有什么区别? ...
主要涉及:JOIN 、JOIN 更新、GROUP BY HAVING 数据查重/去重 1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN 这是在网上找到的非常好的一篇博文,图解 join 语句: CODING HORROR-A ...
超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...
A) 如果想使程序能够正常运行,在(1)处必须填写super()方法,并且在super中传参给父类且同时该语句必须为Test()构造方法中的第一句。 B) 如果想使程序能够正常运行,在(1)处必须填写super()方法,但是该...
59、select avg(sal) from emp where sal >1200 group by deptno having avg(sal) >1500 order by avg(sal) desc;--求出sal>1200的平均值按照deptno分组,平均值要>1500最后按照sal的倒序排列 60、select ename,...