zoukankan      html  css  js  c++  java
  • 分组统计SQL面试题

    一道SQL面试题,题目很简单。
    年份          工资         
    ----------- -----------
    2000        1000
    2001        2000
    2002        3000
    2003        4000
    这里有一份公司表,一句SQL查询出下列结果
    年份          工资         
    ----------- -----------
    2000        1000
    2001        3000
    2002        6000
    2003        10000
    --author:【DBA】小七
    
    set nocount on
    declare @t table (年份 int ,工资 int)
    INSERT INTO @t 
    SELECT 2000,1000 union all
    select 2001,2000 UNION ALL
    select 2002,3000 UNION ALL
    select 2003,4000  
    SELECT * FROM @t
    
    select a.年份, sum(b.工资) as 工资 from @t a,@t b where a.年份>=b.年份 group by a.年份
    
    select 年份, (select SUM(工资) from @t where 年份 <= a.年份) 工资 from @t a  --M提供的另外一个写法,呵呵
    
    
    set nocount off
    
    
    
    
    年份          工资          
    ----------- ----------- 
    2000        1000
    2001        2000
    2002        3000
    2003        4000
    
    年份          工资          
    ----------- ----------- 
    2000        1000
    2001        3000
    2002        6000
    2003        10000 
  • 相关阅读:
    udp和tcp
    以查询代替临时变量
    memcached内存管理
    设计模式适配器模式
    排序算法
    防止表单重复提交
    php的引用
    按位与,按位异或,按位取反
    git常用操作
    http
  • 原文地址:https://www.cnblogs.com/dba_xiaoqi/p/1852565.html
Copyright © 2011-2022 走看看