IF OBJECT_ID('tempdb.dbo.#a') IS NOT NULL
DROP TABLE #a;
CREATE TABLE #a
(
Id varchar(max) NULL
);
declare @s varchar(max) = '717283, 787325'
DECLARE @s2 varchar(max) = REPLACE(REPLACE(@s, CHAR(32), ''), CHAR(13) + char(10), '')
INSERT INTO #a
select * from string_split(@s2,',')
SELECT
a.name
,c.number
,b.article
, ROW_NUMBER() OVER(PARTITION BY numer ORDER BY numer ASC) as t
FROM nazwy a
OUTER APPLY (SELECT article
FROM something) b
left join c.something on something = something
WHERE a.numer in (select * from #a)
Cześć. Powyżej jest kawałek "kodu", który ma zwizualizować jak wygląda moje prawdziwe zapytanie. Zwraca ono kilkaset wyników dla podanych w #a kilku name-ów (akurat są podane numery), dla każdego name zwracane jest kilkaset artykułów. ROW_NUMBER liczy mi wiersze dla każdego name. Potrzebuję zwrocić albo w tym samym selecie lub w osobnym maxymalną liczbę, czyli jaki numer ma ostatni wiersz dla konkretnego name. Przykładowo name 717283 ma 10 wierszy, 787325 ma 3 wiersze, to potrzebuję tabelkę name x - 10 wierszy, name y - 3 wiersze. Wiem, że istnieje funkcja max ale nie wiem jak sprecyzować, by liczyło dla konkretnego name-a. Liczę na Waszą pomoc.