场次号      日期          星期    客队号    主队号 客队名  主队名
0902145 2009-2-24 8:30  2       D3       E5 步行者  尼克斯
0902146 2009-2-24 8:30  2       E3       E4 76人  篮网
0902147 2009-2-24 10:00  2       F3       A1 老鹰  爵士
0902148 2009-2-24 10:00  2 E1 A2 凯尔特人 掘金
0902149 2009-2-24 11:00  2 C1 B4 黄蜂  国王
0902150 2009-2-24 11:30  2 B3 B5 勇士  快船
0902151 2009-2-25 8:00  3 A4 E2 森林狼  猛龙
0902152 2009-2-25 8:00  3 C5 D2 灰熊  骑士
0902153 2009-2-25 8:30  3 D1 F5 活塞  热火
0902154 2009-2-25 9:00  3 B1 A5 湖人  超音速
0902155 2009-2-25 9:00  3 F1 D4 魔术  公牛
0902156 2009-2-25 9:30  3 C4 C2 小牛  马刺
0902157 2009-2-25 9:30  3 A3 C3 开拓者  火箭
0902158 2009-2-25 10:00  3 F4 B2 山猫  太阳
0902159 2009-2-26 8:00  4 E3 F2 76人  奇才
0902160 2009-2-26 8:00  4 C5 D3 灰熊  步行者
0902161 2009-2-26 8:30  4 F1 E5 魔术  尼克斯
0902162 2009-2-26 8:30  4 D4 E4 公牛  篮网现有一张表(sc表),上面是部分数据 
求SQL语句,查出火箭队每周比赛的场次,结果样表如下:(设定每周的第一天为星期天)
要求:不需具体测试,给出SQL语句即可周次 场次
 1    2
 2    4
 3    3

解决方案 »

  1.   

    周次是什么?
    select datepart(week,日期),count(1) 场次
    from [Table]
    where 主队名='火箭' or 客队名='火箭'
    group by datepart(week,日期)
      

  2.   


    select datepart(wk,[日期]) 周次, count(1) 场次 from tab
    where [客队名]='火箭 ' or [主队名]='火箭 ' group by datepart(wk,[日期])
      

  3.   

    select datepart(week,日期),count(*)
    from cs
    group by datepart(week,日期)
    where 客队号='C3' or 主队号='C3'
      

  4.   

    set datefirst 7
    go
    select 周次=row_number()over(order by datepart(week,日期)),count(*) as 场次
    from cs 
    group by datepart(week,日期) 
    where 客队号='C3' or 主队号='C3'
      

  5.   

    select
     datepart(wk,[日期]) as 周次, 
     count(1) as 场次 
    from 
     tb
    where 
     [客队名]='火箭 ' or [主队名]='火箭 ' 
    group by
     datepart(wk,[日期])
      

  6.   


    select identity(int,1,1) as 周次,count(*) as 场次 into #temp
    from 
    (
    select 场次号,dateadd(day,1-星期,日期) as 日期,星期,客队号,主队号,客队名,主队名
    from @table
    ) as t
    where 客队名 = '湖人'  or 主队名 = '湖人'
    group by 日期select * from #temp