SQL Server TOP(1) 具有不同的

标签 sql sql-server database dml

我正在尝试提取按 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/

相关文章:

java - 删除 Java 结果集中的重复行

mysql - 在 MYSQL QUERY 中转换 MS SQL Server 查询

sql - 全文搜索目录名称

mongodb - MongoDB的优点和缺点?

database - 无法读取更新的 AnyLogic DB 值

javascript - SQL 与 Sequelize : Compare json columns using where

java - JDBC INSERT INTO - 错误的主键

sql - DB2 SQL 根据其他行添加行

sql - 将连接表的列旋转为行

database - Mongo-Go-Driver 无法连接