Как найти общее количество записей, созданных в данный день с использованием T-SQL? - PullRequest
1 голос
/ 30 июля 2009

Мне нужно узнать общее количество записей, которые были созданы в данный день.

, например

ID CreatedDate
1 17.07.2009
2 12/07/2009
3 17.07.2009
4 05.07.2009
5 12/07/2009
6 17.07.2009

Выход:

3 записей создано 17.07.2009
2 записей было создано 12/07/2009
1 запись была создана 05.07.2009

EDIT

После тестирования второго предложения Криса Робертса о включении форматирования в SQL я получаю эту ошибку:

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

Кто-нибудь знает, как переработать решение, чтобы оно работало?

Ответы [ 3 ]

6 голосов
/ 30 июля 2009

Вы сможете получить данные, которые вам нужны, используя следующий 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

Удачи!

1 голос
/ 31 июля 2009

Является ли столбец временной меткой? В этом случае вам нужно применить функцию для удаления компонента времени, например ::10000

ВЫБРАТЬ СЧЕТ (*), дата (CreatedDate) ИЗ ГРУППЫ MyTable, дата (CreatedDate)

Я не знаю, что это за функция в T-SQL, это date () в MySQL и trunc () в Oracle. Возможно, вам даже придется сделать to_string и удалить конец строки и группу, если вам этого не хватает.

Надеюсь, это поможет.

0 голосов
/ 30 июля 2009
select count(*), CreatedDate from table group by CreatedDate order by count(*) DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...