时间                         名称   
2010-1-1 1:22:23            A
2010-1-1 1:23:23            A
2010-1-1 1:23:23            A
2010-1-2 1:22:23            B
2010-1-2 1:22:23            A期望结果为2010-1-1   3
2010-1-2   2感谢您的指教

解决方案 »

  1.   

    select convert(nvarchar(10),时间,120),count(*)
    from tb
    group by convert(nvarchar(10),时间,120)
      

  2.   

    select convert(varchr(10),时间,120), count(*)  from table
    group by  convert(varchr(10),时间,120)
      

  3.   


    --> 数据库版本:
    --> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
    --> 测试数据:[TB]
    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]') 
    AND type in (N'U')) 
    DROP TABLE [TB]
    GO---->建表
    create table [TB]([tt] datetime,[ff] varchar(1))
    insert [TB]
    select '2010-1-1 1:22:23','A'   union all
    select '2010-1-1 1:23:23','A'   union all
    select '2010-1-1 1:23:23','A'  union all
    select '2010-1-2 1:22:23','B'  union all
    select '2010-1-2 1:22:23','A' 
    GO--> 查询结果
    SELECT CONVERT(date,tt),COUNT(ff)
    FROM [TB]
    group by CONVERT(date,tt)
    --> 删除表格
    --DROP TABLE [TB]
      

  4.   


    select convert(nvarchar(10),时间,120),count(*)
    from 表 group by convert(nvarchar(10),时间,120)
      

  5.   

    select convert(varchar(10),时间,120) 时间,count(*) as num
    from 表 group by convert(nvarchar(10),时间,120)
      

  6.   

    弱弱的问下,为什么你们都使用convert将日期型的转换成varchar再进行比较呢?这是不是有什么特殊的讲究或者要求?是不是碰到其他数据类型都该这样操作?
      

  7.   

    convert主要是为了进行一个数据格式的转化,你表里的数据是2010-1-1 1:22:23,而你要的是2010-1-1,用convert可以对数据格式进行转化
      

  8.   

    select convert(varchar(10),时间,120) 时间 , count(1) 数量 from tb group by convert(varchar(10),时间,120)
      

  9.   

    你是按照日期求数量,不是按照时间,所以使用convert转换时间为日期,然后分组求数量。create table [TB]([时间] datetime,[ff] varchar(1))
    insert [TB]
    select '2010-1-1 1:22:23','A'   union all
    select '2010-1-1 1:23:23','A'   union all
    select '2010-1-1 1:23:23','A'  union all
    select '2010-1-2 1:22:23','B'  union all
    select '2010-1-2 1:22:23','A' 
    GOselect convert(varchar(10),时间,120) 时间 , count(1) 数量 from tb group by convert(varchar(10),时间,120)drop table tb/*
    时间         数量          
    ---------- ----------- 
    2010-01-01 3
    2010-01-02 2(所影响的行数为 2 行)
    */
      

  10.   

    select convert(nvarchar(10),时间,120),count(*)
    from tb
    group by convert(nvarchar(10),时间,120)
      

  11.   

    select convert(varchar(10),时间,120) , 
    count(1)
    from tb group by convert(varchar(10),时间,120)
      

  12.   

    这次自己做出来了 不过大家都早做出来了!--创建表 tab
    create table tab(dt datetime,name varchar(20))
    --插入数据
    insert into tab values('2010-1-1 1:22:23','A')
    insert into tab values('2010-1-1 1:23:23','A')
    insert into tab values('2010-1-1 1:23:23','A')
    insert into tab values('2010-1-2 1:22:23','A')
    insert into tab values('2010-1-2 1:22:23','A')
    select * from tab
    --SQL 语句
    select convert(varchar(10),dt,120) as Testdt,count(*) from tab group by convert(varchar(10),dt,120)