SQL有意思的面试题
2024-08-30 20:16:36
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
最新文章
- golang sync.WaitGroup bug
- 『.NET Core CLI工具文档』(十一)dotnet-test
- mysql小数格式化正确方法
- Oracle创建数据库
- android 学习第一天 了解事件机制,页面跳转等常用操作
- WDR7500 花生壳问题
- MFC 配合 protobuff libevent 实现的Socket 的GM工具 框架
- maven pom.xml报错
- 简单聊下Unicode和UTF-8
- (转)linux中fork()函数详解
- Atan2
- poj3259
- 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0
- mock server相关解决方案
- 聊聊Node.js 独立日漏洞
- 复杂SQL代码实例
- 读Zepto源码之Ajax模块
- 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- CustomYieldInstruction 自定义中断指令
- c#面试题汇总(1)
- C++实现串口的自动识别