一个SQL面试题

本面试题是基于 bug统计分析续(一)基于SQL的Bug统计方法 中3-2节的讨论抽象出来的。

题目:假设一张表有AC两列,怎么找各种C里不同A的数目,并列出相对应的C的值,并找出每种C下A最多的A值和数目?要求一条SQL语句

举个例子:

C A

-----

C1 A1

C1 A2

C1 A3

C2 A1

C2 A2

C2 A3

C2 A1

C3 A2

C3 A3

C3 A1

C3 A2

C3 A3

C3 A1

C3 A2

C3 A3

C1时,A1、A2、A3的数目是1

C2时,A1、A2、A3的数目是2、1、1

C3时,A1、A2、A3的数目是2、3、3

所以C1时,最多的是A1、A2、A3

所以C2时,最多的是A1

所以C3时,最多的是A2、A3

最终输出表是

C  A   Num

----------

C1 A1  1

C1 A2  1

C1 A3  1

C2 A1  2

C3 A2  3

C3 A3  3

解答:

时间: 2024-10-11 11:16:14

一个SQL面试题的相关文章

sql面试题(学生表_课程表_成绩表_教师表)

sql面试题(学生表_课程表_成绩表_教师表) 原帖链接:http://bbs.csdn.net/topics/280002741 表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 建表语句 CREATE TABLE student ( s# INT, sname nvarchar(32), sage INT, ssex nvarchar(8)

sql面试题一 学生成绩

sql面试题一 学生成绩 原帖链接:http://topic.csdn.net/u/20081020/15/1ABF54D0-F401-42AB-A75E-DF90027CEBA0.html 表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 建表语句 CREATE TABLE student ( s# INT, sname nvarchar(3

一个sql导致temp表空间爆掉

Buffer sort引发的血案 今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中.于是就写了一个sql: select t1.* from test1 t1, test2 t2 where t1.col1 = t2.col1(+) and t1.col2 = t2.col2(+) and t1.col3 = t2.col3(+) and t2.col1 is null; 因为是在线系统,

通过不同的条件组装 一个sql语句

通过不同的条件组装 一个sql语句题目要求:目前需要通过不同会员信息的条件,对会员进行高级查询,这个时候就需要对sql语句的组装工作.需要查询的条件有,会员编号,会员昵称,会员帐号,会员注册时间,会员性别,条件通过GET方式传递给程序,通过任意选择这些条件进行查询,得到相应的结果.参考:会员表为user_bas 及其字段结构:查询条件和数据库字段对应关系:会员编号:id :结构:smallint(6),查询为精确查询(比如:查询编号为1 2的会员)会员昵称:nickname:结构:varchar

SQL面试题

有3个表S,C,SC S(SNO, SNAME)代表(学号,姓名) C(CNO,CNAME,CTEACHER)代表(课号,课名,教师) SC(SNO, CNO, SCGRADE)代表(学号,课号成绩) 问题: 1.找出没选过'黎明"老师的所有学生姓名. 2.列出两门以上(含2门)不及格学生姓名及平均成绩. 3.即学过1号课程有学过2号课所有学生的姓名. 请用标准SQL语言写出答案,方言也行(请说明是使用什么方言). 1.select sname from s join sc on (s.sno

怎样让索引仅仅能被一个SQL使用

有个徒弟问我,要创建一个索引,去优化一个SQL,可是创建了索引之后其它 SQL 也要用 这个索引,其它SQL慢死了.要优化的SQL又快.遇到这样的问题咋搞? 一般遇到这样的问题还是非常少的.处理的方法非常多.我简单的给大家介绍一种方法. 还是直接看我实验操作步骤吧. 在SCOTT账户里面创建一个測试表和一个索引 SQL> create table test as select * from dba_objects; 表已创建. SQL> create index idx_test on tes

一个SQL Server 2008 R2 死锁的问题解决

问题场景:在客户那碰到一个操作卡死的现象 问题解决: 1.如何挂钩是死锁问题:通过代码跟踪,发现是指执行一个SQL语句超时,因此猜想可能是表锁住了 2.如果确认是思索问题:通过SQL发现死锁,以下是相关的SQL select request_session_id SPID,OBJECT_NAME(resource_associated_entity_id) TABLENAME from sys.dm_tran_locks where resource_type='OBJECT' 上面这个SQL是

汽车之家一道SQL 面试题,大家闲来无事都来敲一敲

写在前面 上周去汽车之家面试,拿到这个SQL笔试题顿时感觉到有些陌生,因为好长时间不写SQL语句了,当时只写了表设计,示例数据和SQL语句都没写出来. 汽车之家应该用的SQL Server, 编程题一般都没有固定答案,大家可以按照自己的思路来试试,我在文章底部放出参考的链接. SQL笔试题 参考答案(我个人发在CSDN的帖子) http://bbs.csdn.net/topics/391091585

MyBatis学习6-第一个sql映射findUserById

现在我们通过mybatis开始实现第一个sql查询findUserById: 1.填加映射文件User.xml 2.在mysql-front中测试一下sql语句: 3.开始编写User.xml 其中,namespace为命名空间,对sql进行分类化管理,是一种sql隔离. id:标识sql,将sql封装到mappedStatement对象中,id实际上是statement的id #{}表示一个占位符, parameterType:定义输入到sql中的映射类型.如果参数是简单类型,#{}中的参数名