zoukankan      html  css  js  c++  java
  • SQL有意思的面试题

    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
  • 相关阅读:
    java各种框架的比较,分析
    HTTP请求响应码
    jersey获取各个参数的总结
    web项目中各种路径的获取
    netsh学习
    解决sqlplus: command not found
    win10 提速
    解决win10 64位系统可用2.99g
    Windows10关闭SearchUI.exe进程的方法
    msf payload
  • 原文地址:https://www.cnblogs.com/hzm112567/p/3502600.html
Copyright © 2011-2022 走看看