有一个表,按记录时间格式化为短日期各式,保存的是这样:2010-12-13 8:39:01
要求是按日期统计每天的数量,有什么办法让SQL语句短一些?
SELECT TOP 100 PERCENT CONVERT(varchar(12), 记录时间, 111) AS 日期, COUNT(ID) 
      AS 完成数量
FROM dbo.[1002 论坛贴子管理]
GROUP BY CONVERT(varchar(12), 记录时间, 111)
ORDER BY CONVERT(varchar(12), 记录时间, 111) DESC

解决方案 »

  1.   

    就不能这样吗? 
    SELECT TOP 100 PERCENT CONVERT(varchar(12), 记录时间, 111) AS 日期, COUNT(ID)  
      AS 完成数量
    FROM dbo.[1002 论坛贴子管理]
    GROUP BY 日期 ORDER BY 日期 DESC
      

  2.   

    SELECT  日期,完成数量
    FROM (
    SELECT TOP 100 PERCENT 
    CONVERT(varchar(12), 记录时间, 111) AS 日期, 
    COUNT(ID)   AS 完成数量
    FROM dbo.[1002 论坛贴子管理]) T
    GROUP BY 日期 ORDER BY 日期 DESC
      

  3.   

    --把convert写入子查询中
    SELECT TOP 100 PERCENT  日期, COUNT(ID)  
      AS 完成数量
    FROM (select 日期= CONVERT(varchar(12), 记录时间, 111),* from dbo.[1002 论坛贴子管理]) tb
    GROUP BY 日期
    ORDER BY 日期 DESC