SELECT owner, COUNT(id) AS Expr1, DAY(addtime) AS Expr2
FROM housesource
WHERE (addtime BETWEEN '2004-11-01' AND '2004-11-30')这句有错误吧???

解决方案 »

  1.   

    不好意思,少贴了一部分。SELECT owner, COUNT(id) AS Expr1, DAY(addtime) AS Expr2
    FROM housesource
    WHERE (addtime BETWEEN '2004-11-01' AND '2004-11-30')
    GROUP BY DAY(addtime), owner
      

  2.   

    的确有错误,
    SELECT owner, COUNT(id) AS Expr1, DAY(addtime) AS Expr2
    FROM housesource
    WHERE (addtime BETWEEN '2004-11-01' AND '2004-11-30')
    group by owner,addtime
      

  3.   

    楼主用子查询来实现吧,
    select (select ...) n1,
           (select ...) n2,
           ...
      

  4.   

    select aa.owner,
           [1]=sum(case aa.Expr2 when '1' then Expr1 else 0 end),
           [2]=sum(case aa.Expr2 when '2' then Expr1 else 0 end),
           ...
           [30]=sum(case aa.Expr2 when '30' then Expr1 else 0 end)
    from (SELECT owner, COUNT(id) AS Expr1, DAY(addtime) AS Expr2
          FROM housesource
          WHERE (addtime BETWEEN '2004-11-01' AND '2004-11-30') 
          GROUP BY DAY(addtime), owner
          ) aa
    group by aa.owner
      

  5.   

    谢谢  lsxaa(小李铅笔刀) 
    用您的方法可以实现,想问一下如果数据量有1万条左右的话,效率怎么样呢?
      

  6.   

    select owner,
           [1]=sum(case DAY(addtime) when '1' then COUNT(id) else 0 end),
           [2]=sum(case DAY(addtime) when '2' then COUNT(id) else 0 end),
           ...
           [30]=sum(case DAY(addtime) when '30' then COUNT(id) else 0 end),
           DAY(addtime) AS Expr2
    from housesource
    WHERE (addtime BETWEEN '2004-11-01' AND '2004-11-30') 
    group by DAY(addtime), owner
      

  7.   

    非常感谢,非常感谢,困挠我一天的问题终于解决了,向 lsxaa(小李铅笔刀)致敬