У меня есть таблица выглядит следующим образом:SQL - подсчет вхождений в колонке на ДЕНЬ
и я хочу, чтобы подсчитать число вхождений сказать «AB» и «CD» в PAGEURL колонке и GROUP BY DAY (т.е. нет укажите количество вхождений на день, это число равно 1).
ID User Activity PageURL ActDateTime
1 Me act1 abcd 2013-01-17 19:09:01.040
2 Me act2 cdab 2013-01-17 19:09:06.613
3 You act2 xyza 2013-01-30 16:10:50.177
4 Me act3 xyab 2013-01-30 10:35:09.037
Я хочу иметь 2 столбца ... 1 для подсчета «ab» и 1 для подсчета «cd».
В приведенном выше примере есть 3 подсчета для «ab», но я буду считать только 2, потому что первые 2 произошли в один и тот же день (так что считайте 1).
Опять же, в столбце PageURUR есть 2 счета для «cd», но я хочу считать только 1, потому что произошел в тот же день.
Кроме того, я хочу сгруппировать по месяцам года i.e. Jan-12, Feb-12, March-12, April-12 ... и т. Д.
Очень понравилась бы помощь и совет. Спасибо!
Это то, что я сделал до сих пор (но он не принимает в счет группировки по DAY)
SELECT USER,
department,
activity,
[MonthYear] = DATENAME(mm, ActDateTime)+ ' - ' +
DATENAME(yy, actdatetime),
[ab] = sum(case when pageURL like '%ab%' THEN 1 else 0 END),
[cd]= sum(CASE WHEN pageURL LIKE '%cd%'THEN 1 ELSE 0 END)
FROM activityLog
GROUP BY USER,
department,
activity,
DATENAME(mm, ActDateTime)+ ' - ' +
DATENAME(yy, ActDateTime)
ORDER BY USER,
department,
activity,
DATENAME(mm, ActDateTime)+ ' - ' + DATENAME(yy, ActDateTime)
спасибо я буду обновлять имена столбцов! –