Я хочу, чтобы получить вторые 10 уникальных строк в моей базе данных SQL, для выбора вторых 10 строк, я использую следующий сценарий:получить вторые 10 уникальных строк в SQL
SELECT col1, col2 FROM (
SELECT col1, col2, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum
FROM MyTable
) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN 10 AND 19
Но теперь я хочу UNIQUE строки в этом наборе, когда я использую DISTINCT
, как в следующем примере, DISTINCT
также переместится на RowNum
, что делает каждую строку DISTINCT строкой ... как я могу исключить RowNum
из моего DISTINCT
?
SELECT col1, col2 FROM (
SELECT DISTINCT col1, col2, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum
FROM MyTable
) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN 10 AND 19
Используйте 'group by' вместо' distinct'. –
Какие СУБД вы используете? –
@GiorgiNakeuri Microsoft SQL Server, я использую его в среде Azure. – Jeroen