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'
但如何将结果与其他列配对?我想选择uniqueLogName
并将其分配给相应的最早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
这包括不同的吗?