1、中软国际 SQL行转列

 变成  

--数据准备
create table t_test(
year int,
month int,
sale int,
primary key (year, month)
); insert into t_test values (1991, 1, 110);
insert into t_test values (1991, 2, 120);
insert into t_test values (1991, 3, 130);
insert into t_test values (1991, 4, 140);
insert into t_test values (1992, 1, 210);
insert into t_test values (1992, 2, 220);
insert into t_test values (1992, 3, 230);
insert into t_test values (1992, 4, 240);
select year as '年份',
max(case month when 1 then sale else 0 end) as '一月',
max(case month when 2 then sale else 0 end) as '二月',
max(case month when 3 then sale else 0 end) as '三月',
max(case month when 4 then sale else 0 end) as '四月',
max(case month when 5 then sale else 0 end) as '五月'
from t_test group by year;

二、东方通达 复杂查询

--标准版
SELECT a.class, AVG(score), COUNT(username) FROM
(SELECT class, avg(score) FROM table1 LEFT JOIN table2
ON table1.username = table2.username GROUP BY class) AS a
     LEFT JOIN
   (SELECT class, COUNT(username) FROM table1 LEFT JOIN table2
ON table1.username = table2.username WHERE score < 60 GROUP BY class) AS c
ON a.class = c.class; --变态版
select class, avg(score), sum(if(score < 60, 1, 0))
 from table1 left join table2  ON  table1.username = table2.username  GROUP BY  class

SQL有意思的面试题的更多相关文章

  1. 一些有意思的面试题(持续更新) .C语言编程技巧札记

    一些有意思的面试题(持续更新) http://blog.csdn.net/wangyuling1234567890/article/details/38565239 C语言编程技巧札记 http:// ...

  2. sql常见的面试题

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文   ...

  3. SQL SERVER 数据库面试题

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文   ...

  4. 一道有意思的笔试题引发的对于new操作符的思考

    楼主比较喜欢看一些很短但很有意思的题目,无意间又瞥到了一题,大家不妨可以一试.(原题链接猛戳这里) function Fn1() { this.name = 'peter'; return { nam ...

  5. SQL常见笔试面试题

    sql理论题 1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以 ...

  6. 【转】一道SQL SERVER DateTime的试题

    学习过上一篇SQL SERVER DateTime精度的文章后.再来做一道题. IF ('2011-07-31 00:00:00.000' BETWEEN '2011-07-01' and '2011 ...

  7. 关于 parseInt 的一道有意思的面试题

    看完标题,入坑过的同学脑海里很快会浮现出这道经典面试题,没碰到过的同学不妨跟着楼主先来复习一遍 parseInt 的用法(主要参考 MDN). parseInt 是 JavaScript 中的一个全局 ...

  8. 数据库sql语句常见面试题

    转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname, ...

  9. SQL优化|Java面试题

    转载:https://www.cnblogs.com/Jacck/p/8030455.html 数据库的优化问题 一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂 ...

随机推荐

  1. Spring+Mybatis常见问题随笔

    错误1:无法绑定指定方法 异常堆栈:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 原因 ...

  2. gulp是什么?

    什么是gulp? gulp初涉 1.什么是gulp? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的 ...

  3. ajax无刷新上传

    我们在使用上传控件的时候,会遇到刷新的问题,最近使用ajax做的上传,觉得效果还是很不错. 首先,我们需要在页面上放上上传控件:需要注意的是,我们必须放在form里面,实现表单上传.  <for ...

  4. JS流程控制语句 多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便。

    多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便. 语法: switch(表达式) { case值1: 执行代码块 1 break; case值2: 执行代码 ...

  5. oi知识表

  6. [NOIP2019模拟赛]夹缝

    夹缝 问题描述: 二维空间内有两面相对放置的,向无限远延伸的镜子,以镜子的方向及其法向量建立坐标系,我们选定一个法向量方向下面称“上”.在镜子上的整数位置,存在着一些传感器,传感器不影响光线的反射,光 ...

  7. 基础回顾: 关于Session的一些细节

    1 session是服务端技术, cookie是客户端技术 2 默认情况下, 一个浏览器独占一个session对象, 也就是说, 开启两个浏览器进程, 它们之间使用的session不是同一个sessi ...

  8. IDE 插件新版本发布,开发效率 “biu” 起来了

    近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明. 本地应用一键 ...

  9. 深入浅出Mybatis系列(一)---Mybatis入门[转]

    最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢,也从来没真正去接触过mybatis, 趁近日得闲, 就去学习一下mybatis吧. 本次拟根据自己的学习进度,做一次 ...

  10. JDK源码阅读--StringBuffer

    public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharS ...