zoukankan      html  css  js  c++  java
  • 一道sql练习题

    表内容:
    2005-05-09 胜
    2005-05-09 胜
    2005-05-09 负
    2005-05-09 负
    2005-05-10 胜
    2005-05-10 负
    2005-05-10 负

    如果要生成下列结果, 该如何写sql语句?

                胜 负
    2005-05-09 2 2
    2005-05-10 1 2


     1 
     2 DROP TABLE #Temp
     3 
     4 CREATE TABLE #Temp
     5 (
     6   Date VARCHAR(36),
     7   State CHAR(10)
     8 )
     9 
    10 INSERT INTO #Temp VALUES ('2005-05-09','')
    11 insert into #Temp values('2005-05-09','')
    12 insert into #Temp values('2005-05-09','')
    13 insert into #Temp values('2005-05-09','')
    14 insert into #Temp values('2005-05-10','')
    15 insert into #Temp values('2005-05-10','')
    16 insert into #Temp values('2005-05-10','')
    17 
    18 
    19 
    20 select * from #Temp
    21 
    22 /* 第一种方法 */
    23 SELECT Date,SUM(CASE State WHEN '' THEN 1 ELSE 0 END ) AS '',
    24 SUM(CASE State WHEN '' THEN 1 ELSE 0 END ) AS ''
    25 FROM #Temp
    26 GROUP BY Date
    27 
    28 
    29 /* 第二种方法 */
    30 SELECT A.Date,A.胜,B.负 FROM 
    31 (SELECT Date, ''=COUNT(*FROM #Temp WHERE State='' GROUP BY Date) A INNER JOIN 
    32 (SELECT Date, ''=COUNT(*FROM #Temp WHERE State='' GROUP BY Date) B ON A.Date=B.Date
    33 ------------------------------------------------------------------------------------------
    34 
    35 

  • 相关阅读:
    python易混易乱(2)
    python易混易乱(1)
    #1062 – Duplicate entry ‘1’ for key ‘PRIMARY’
    关于 flask 实现数据库迁移以后 如何根据创建的模型类添加新的表?
    Linux同步互斥(Peterson算法,生产者消费者模型)
    正则表达式(Python)
    进程间通信
    CSS常见简写规则整理
    Django Model
    Django杂记
  • 原文地址:https://www.cnblogs.com/tzy080112/p/1446949.html
Copyright © 2011-2022 走看看