2016-11-29 3 views
0

Я ищу, чтобы выбрать количество комментариев из таблицы за каждый предоставленный день. Например, я хочу видеть количество комментариев за каждый день между 11-20-2016 и 11-19-2016.Выбор количества записей в диапазоне дат SQL

Я изучил эту идею на некоторое время, и это всего лишь мой базовый код, который я написал, чтобы получить один день, но я хочу сделать это динамически в диапазоне дат.

DECLARE @Date VARCHAR(250) 
SET @Date = '2016-11-23' 

SELECT  
    COUNT(*), 
    @Date 
FROM CRA_METRO2_REJECT_COMMENTS RC 
WHERE 
    CONVERT(DATE, RC.comment_date) IN (CONVERT(DATE, @Date)) 

Может ли кто-нибудь указать мне правильное направление?

+0

какой тип 'RC.comment_date' –

ответ

1

С помощью BWS здесь мое решение.

DECLARE @StartDate VARCHAR(250) 
DECLARE @EndDate VARCHAR(250) 
SET @StartDate = '2016-11-23' 
SET @EndDate = '2016-11-29' 

SELECT 
    CONVERT(DATE, RC.comment_date), 
    COUNT(*) 
FROM CRA_METRO2_REJECT_COMMENTS RC 
WHERE CONVERT(DATE, RC.comment_date) BETWEEN CONVERT(DATE, @StartDate) AND CONVERT(DATE, @EndDate) 
GROUP BY CONVERT(DATE, RC.comment_date) 
ORDER BY CONVERT(DATE, RC.comment_date) 
1

Вы должны попробовать более простой подход:

SELECT RC.comment_date, COUNT(*) 
FROM CRA_METRO2_REJECT_COMMENTS RC 
GROUP BY RC.comment_date 
ORDER BY RC.comment_date 

Это должно работать независимо от формата ваш COMMENT_DATE использует.

Смежные вопросы