мне нужно вернуть только первую строку каждого повторяющегося числа, кроме нулей в запросе:T-SQL SELECT TOP 1 DISTINCT для повторения
DECLARE @Test TABLE
(
ID NVARCHAR(10)
,Number INT
)
INSERT INTO @Test VALUES ('TG32',6)
INSERT INTO @Test VALUES ('TG47',6)
INSERT INTO @Test VALUES ('AG9',6)
INSERT INTO @Test VALUES ('BF27',2)
INSERT INTO @Test VALUES ('QD65',2)
INSERT INTO @Test VALUES ('F98',0)
INSERT INTO @Test VALUES ('GC5',0)
INSERT INTO @Test VALUES ('HT76',0)
INSERT INTO @Test VALUES ('KL81',0)
INSERT INTO @Test VALUES ('WR52',0)
SELECT * FROM @Test
Я пытаюсь получить:
ID Номер
TG32 6
BF27 2
F98 0
GC5 0
HT76 0
KL81 0
WR52 0
Я попытался DISTINCT, NULLIF, CASE заявление без толка :-( – SSMSJ
вы говорите " возвращайте ТОЛЬКО первую строку каждого повторяющегося числа «...», чтобы добиться того, что ее нужно отслеживать с помощью дополнительного столбца, который имеет временную метку или последовательно увеличивающийся идентификатор с использованием столбца идентификации или последовательности или указателя и т. д., иначе SQL Server не гарантирует возврата строк в том порядке, в котором они были вставлены. – objectNotFound
Хорошо, во-первых, ваш пример не имеет столбцов с повторяющимися числами. Если вы хотите, чтобы кто-то получил желаемый результат, дайте им возможность произвести правильные результаты. –