選択

2012-02-15 5 views
5

の自動車順序私は時間の例の間に毎日レポート(「2012年1月21日」AND「2012年2月19日」BETWEEN CREATEDATE)を返す手続きを持って選択

私は

この結果をしたいです
1/21 
1/22 
1/23 
. 
2/1 
. 
. 

なく、次のよう出力が!!当日に基づいて自動的にソートされます。

2/1 
2/2 
. 
2/15 
1/21 
1/22 
1/23 
. 
. 

私はこれが選択持っているので、私は(CREATEDATE)によって順序を使用してカント:

SELECT  COUNT(UserId) AS c, DAY(CreateDate) AS d 
FROM  dbo.aspnet_Membership 
WHERE  (CreateDate BETWEEN '2012/1/21' AND '2012/2/19') 
GROUP BY DAY(CreateDate) 
+0

、あなたは* *そのクエリのためにその出力を持っていないため、

が、これはうまくいくかもしれません。 – gbn

答えて

8

月と日でソートする場合は、月が必要です。

常にには、結果の順序を保証するためにORDER BYが必要です。この場合

SELECT  COUNT(UserId) AS c, MONTH(CreateDate) AS m, DAY(CreateDate) AS d 
FROM  dbo.aspnet_Membership 
WHERE  (CreateDate BETWEEN '2012/1/21' AND '2012/2/19') 
GROUP BY MONTH(CreateDate) AS m, DAY(CreateDate) AS d 
ORDER BY MONTH(CreateDate) AS m, DAY(CreateDate) AS d 

あなたが一日で注文したい意図した場合、あなたが得た順序があるため(MySQLでORDER BYのことを意味するが、他のではないRDBMS)GROUP BYの

+2

+1は「いつも注文が必要」のため –

1

偶然でした(/前)最初の列は月がある場合は、

SELECT COUNT(UserId) AS c, DAY(CreateDate) AS d 
    FROM dbo.aspnet_Membership 
WHERE (CreateDate BETWEEN '2012/1/1' AND '2012/2/29') 
    GROUP BY DAY(CreateDate) 
ORDER By d ASC 
+0

CreateDate BETWEEN '2012/1/21' AND '2012/2/19'が重要です! –

関連する問題