2009-07-30 21 views
1

我需要找出在給定日期創建的記錄總數。如何查找使用T-SQL在給定日期創建的記錄總數?

例如

IDCreatedDate
1 17/07/2009
2 2009年12月7日
3 17/07/2009
4 2009年5月7日
5 2009年12月7日
6 17/07/2009

輸出:

3記錄被CRE ated上17/07/2009
2個記錄被上2009年12月7日
1條上創建2009年5月7日

EDIT

創建一旦測試由Chris提出的第二個建議包括在SQL格式的羅伯茨我得到這個錯誤:

Syntax error converting the varchar value ' Records were created on ' to a column of data type int. 

有誰知道如何返工的解決方案,因此,它的工作原理?

回答

6

你應該能夠讓你用下面的SQL之後是數據...

SELECT COUNT(ID), CreatedDate FROM MyTable GROUP BY CreatedDate

或者 - 如果你想要做的SQL格式化了。 ..

SELECT CONVERT(varchar, COUNT(ID)) + ' Records were created on ' + CONVERT(varchar, CreatedDate) FROM MyTable GROUP BY CreatedDate

祝你好運!

-2
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC 
+2

GROUP BY不應該在CreatedDate字段上嗎? – 2009-07-30 18:42:33

+0

-1這甚至不會超過語法檢查。克里斯得到了正確的答案 – 2009-07-30 18:44:40

1

該列實際上是一個時間戳嗎?在這種情況下,您將需要申請一個函數刪除時間組件,如:

SELECT COUNT(*),日期(CreatedDate)FROM MyTable的GROUP BY日期(CreatedDate)

我不知道是什麼該函數在T-SQL中,它是MySQL中的date()和Oracle中的trunc()。你甚至可能必須做一個to_string,並刪除字符串和組的結尾,如果你缺少這個。

希望這會有所幫助。

相關問題