Доберитесь вершина сначала записывают от дублирующихся записей, имеющих уникальные идентификационные данные

Я должен выбрать главную первую строку из каждого дублирующегося набора записей от таблицы, данной ниже. Я должен использовать этот запрос в поле зрения

никакая временная таблица, поскольку я уже сделал это путем добавления столбца идентификационных данных и минимальной функции и группы. Мне нужно решение без временной таблицы или табличной переменной

Это - просто демонстрационные данные. Исходный имеет 1000-е записей в таблице, и я должен просто следовать из лучших 1000, так не может использовать отличный

Я использую SQL Server 2005

alt text

Спасибо.

34
задан Glorfindel 11 June 2019 в 16:04
поделиться

4 ответа

Ответ зависит от конкретно, что вы подразумеваете под «топ-1000 различными» записями.

Если вы имеете в виду, что вы хотите вернуться с большинства 1000 отдельных записей, независимо от того, сколько дубликатов в таблице, то напишите это:

SELECT DISTINCT TOP 1000 id, uname, tel
FROM Users
ORDER BY <sort_columns>

Если вы хотите только поиск только первые 1000 строк В таблице и потенциально возвращается гораздо менее 1000 различных рядов, то вы бы написали его с подзапросом или CTE, как это:

SELECT DISTINCT *
FROM
(
    SELECT TOP 1000 id, uname, tel
    FROM Users
    ORDER BY <sort_columns>
) u

, конечно, на , конечно, необязательно, если вам все равно о каких записях вы возвращаетесь.

7
ответ дан 27 November 2019 в 17:12
поделиться

Использование различных должно сделать это:

SELECT DISTINCT id, uname, tel
FROM YourTable

Хотя вы действительно можете сделать с помощью первичного ключа на эту таблицу, способ однозначно идентифицировать каждую запись. Я бы рассматривал прилипать столбец личности на столе

1
ответ дан 27 November 2019 в 17:12
поделиться

Не помогает ли SELECT DISTINCT ? Полагаю, это вернет нужный результат.

1
ответ дан 27 November 2019 в 17:12
поделиться

Ваша лучшая ставка - это исправить дизайн DATBASE и добавить идентификационный столбец к таблице. Почему у вас есть таблица гавани без одного в первую очередь? Особенно один с дублирующимися записями! Очевидно, что сама база данных требуется перепроектирование.

И почему вы должны иметь это с видом, почему ваше решение с таблицей TEMP является действительным решением? Представления обычно не очень хорошая вещь, чтобы сделать с совершенно хорошей базой данных.

1
ответ дан 27 November 2019 в 17:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: