Что я ищу:
Мне нужен список с SQL-сервера, на котором будут указаны все идентификаторы, но каждый идентификатор содержит несколько строк.Некоторые строки из каждого идентификатора являются обновлениями системы, поэтому не нужно заботиться о них в моем запросе.
Другими словами:
Мне нужно получить весь список, подсчитав всестроки, которые не из системы для каждого идентификатора.
База данных выглядит следующим образом:
ID | linenumber| data, data, ... data|Requesto| data, data
1 | 1 |.....................|JUAN |...........
1 | 2 |.....................|SYSTEM |...........
2 | 1 |.....................|Matias |...........
2 | 2 |.....................|Matias |...........
2 | 3 |.....................|Matias |...........
И мне нужно получить:
ID | CantRoWs |.....................|WHO is |...........
1 | 1 |.....................|JUAN |...........
2 | 3 |.....................|Matias |...........
Я думал об использовании временного запроса, как показано ниже, но он не работает.
with temp as
(
SELECT OVER (PARTITION BY szCID ORDER BY gdReceived desc) as RowNum,*
FROM TABLE1;
)
SELECT *, (Select count(szCID) from TABLE1 where szAccount <> 'system') AS Hits From temp
WHERE RowNum = 1
Есть идеи?