Sql server 将其他列(时间)添加到不同的行

Sql server 将其他列(时间)添加到不同的行,sql-server,distinct,Sql Server,Distinct,我正在选择具有唯一性的行 SELECT DISTINCT LogContent FROM [WebAppLog] WITH (NOLOCK) WHERE LogName = 'frontendErrorLog' 但如何将结果与其他列配对?我想选择uniqueLogName并将其分配给相应的最早LogTime,就像在: SELECT LogTime, LogContent FROM [WebAppLog] WITH (NOLOCK)

我正在选择具有唯一性的行

SELECT DISTINCT 
    LogContent
FROM   
    [WebAppLog] WITH (NOLOCK)
WHERE  
    LogName = 'frontendErrorLog'
但如何将结果与其他列配对?我想选择unique
LogName
并将其分配给相应的最早
LogTime
,就像在:

SELECT 
    LogTime, LogContent 
FROM   
    [WebAppLog] WITH (NOLOCK) 
WHERE  
    LogName = 'frontendErrorLog'

您可以使用
行编号

WITH CTE AS
(
    SELECT LogTime, LogContent, 
           rn = ROW_NUMBER() OVER (PARTITION BY LogContent ORDER BY LogTime ASC)
    FROM [WebAppLog] WITH (NOLOCK) 
    WHERE LogName = 'frontendErrorLog'
)
SELECT LogTime, LogContent FROM CTE WHERE rn = 1
@极端的

分组对你有用吗,像这样

SELECT  LogContent,MAX(LogTime) LogTime
FROM    [WebAppLog] WITH (NOLOCK) 
WHERE   LogName = 'frontendErrorLog'
GROUP   BY LogContent

这包括不同的吗?