У меня есть запрос, который возвращает некоторые данныеВозвратившись верхние значения для каждого столбца запроса SQL
Name Hour1 hour2 hour3 etc
A 1 2 3 ...
B 50 2 25 ...
C 25 2 3 ...
D 1 30 50 ...
E 1 40 3 ...
Я хотел бы просто иметь значения для двух верхних результатов в каждом столбце (значения составляют)
Name Hour1 hour2 hour3 etc
A null null null ...
B 50 null 25 ...
C 25 null null ...
D null 30 50 ...
E null 40 null ...
Может быть много имен и 24-часовых столбцов. Возможно ли это?
Существующий запрос в виде
SELECT Name,
ISNULL(Count(CASE WHEN DATEPART(HOUR,OpenedDate)=1 THEN 1 ELSE null END), 0) AS Hour1,
etc
etc
From DataTable
У меня был 'SUM', но попробовал' Count' по прихоти, и он сократил время на запрос пополам! – Loofer
@Loofer. , , Это похоже на очень большой прирост производительности при относительно небольших изменениях. Возможно, в первый раз, когда вы запустили, данные были на диске, а во второй раз они были кэшированы в памяти. –