【问题标题】:How to use DISTINCT for just one field when ORDER BY another field is used?当使用 ORDER BY 另一个字段时,如何仅对一个字段使用 DISTINCT?
【发布时间】:2014-08-29 17:03:02
【问题描述】:

我使用的是 SQL Server Compact Edition 3.5 SP2。

我想使用这个查询:

SELECT DISTINCT PortalURI
FROM LoginHistory
ORDER BY LastLoginDate DESC

但它告诉我它也需要像这样选择LastLoginDate 字段:

SELECT DISTINCT PortalURI, LastLoginDate
FROM LoginHistory
ORDER BY LastLoginDate DESC

但它让我重复了PortalURI

我怎样才能让PortalURI 与众不同?

编辑:我也使用了GROUP BYORDER BY MAX(LastLoginDate),但结果是这个异常:

ORDER BY 列表中的表达式不能包含聚合函数。

【问题讨论】:

    标签: sql sql-server sql-server-ce sql-order-by distinct


    【解决方案1】:

    请尝试:

    SELECT PortalURI
    FROM LoginHistory
    GROUP BY PortalURI
    ORDER BY MAX(LastLoginDate) DESC
    

    编辑: SQL Server Compact Edition 不支持 ORDER BY 子句上的聚合函数。所以,这里有一个替代解决方案:

    SELECT PortalURI, MAX(LastLoginDate)
    FROM LoginHistory
    GROUP BY PortalURI
    ORDER BY 2 DESC
    

    【讨论】:

    • 异常: “ORDER BY 列表中的表达式不能包含聚合函数。”请提及我使用 SQL Server Compact Edition
    • 我对精简版不熟悉。这会工作SELECT PortalURI, MAX(LastLoginDate) FROM LoginHistory GROUP BY PortalURI ORDER BY 2 DESC吗?
    • 在 VisualStudio 上工作正常,但在 ADO.NET (C#) 上显示异常:“ORDER BY 不支持。”
    【解决方案2】:

    试试这个:

    SELECT PortalURI, MAX(LastLoginDate) LastLoginDate
    FROM LoginHistory
    GROUP BY PortalURI
    ORDER BY LastLoginDate DESC
    

    【讨论】:

    • 已编辑以命名列,并取消删除以重试:)
    • 有效!非常感谢!我将其标记为答案
    【解决方案3】:
        SELECT PortalURI, MAX(LastLoginDate)
        FROM LoginHistory
        GROUP BY PortalURI
        ORDER BY LastLoginDate DESC
    

    【讨论】:

    • 例外:“在聚合和分组表达式中,ORDER BY 子句只能包含聚合函数和分组表达式。”
    【解决方案4】:
    SELECT PortalURI,max(LastLoginDate)
    FROM LoginHistory
    GROUP BY PortalURI
    ORDER BY LastLoginDate DESC
    

    【讨论】:

    • 异常: “ORDER BY 列表中的表达式不能包含聚合函数。”请提及我使用 SQL Server Compact Edition
    • 例外:“在聚合和分组表达式中,ORDER BY 子句只能包含聚合函数和分组表达式。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2020-01-24
    相关资源
    最近更新 更多