我正在尝试提取按 i_version_id
排序结果后得到的第一行。如果我不使用 TOP(2)
,我的查询将按预期工作并返回按 i_version_id 排序的所有结果。但是当我添加 TOP(2)
时(如下所示),它说 distinct
附近存在语法错误。请让我知道我做错了什么。
SELECT TOP(2)
distinct(i_version_id)
FROM
[PaymentGateway_2006].[dbo].[merchant]
WHERE
dt_updated_datetime > '2013-11-11'
GROUP BY
i_version_id
ORDER BY
i_version_id;
最佳答案
如果您只获得 TOP 1
,则 distinct
无关紧要。这也是无关紧要的,因为按列分组将为您提供不同的值,
但是,如果您想要多个,只需删除括号:
SELECT DISTINCT TOP(2)
i_version_id
FROM
[PaymentGateway_2006].[dbo].[merchant]
WHERE
dt_updated_datetime > '2013-11-11'
GROUP BY
i_version_id
ORDER BY
i_version_id;
关于SQL Server TOP(1) 具有不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20086243/