集團,所以你能留住時間部分。
如果您需要列出逗號分隔的所有唯一值而不是max,那麼我有一個CLR聚合函數,如果您使用的是SQL Server,則可以使用它。
SELECT max([time]) AS 'time',
Tagname,
max(GTY) AS 'GTY',
max(TMP) AS 'TMP',
max(FLOW) AS 'Rate',
max(MF) AS 'MF',
max(PRS) AS 'PRS'
FROM y
GROUP BY Tagname
或者通過
SELECT max([time]) AS 'time',
Tagname,
max(GTY) AS 'GTY',
max(TMP) AS 'TMP',
max(FLOW) AS 'Rate',
max(MF) AS 'MF',
max(PRS) AS 'PRS'
FROM (SELECT [time], Tagname, GTY, TMP, FLOW as Rate, MF, PRS
FROM y
PIVOT
(
max(lastvalue)
FOR [tag2] IN (GTY, TMP, FLOW, MF, PRS)
) AS P) y
GROUP BY Tagname
或者更好的是包裹在論壇中的支點,使用CTE
WITH PIV AS
(SELECT [time], Tagname, GTY, TMP, FLOW as Rate, MF, PRS
FROM y
PIVOT
(
max(lastvalue)
FOR [tag2] IN (GTY, TMP, FLOW, MF, PRS)
) AS P)
SELECT max([time]) AS 'time',
Tagname,
max(GTY) AS 'GTY',
max(TMP) AS 'TMP',
max(FLOW) AS 'Rate',
max(MF) AS 'MF',
max(PRS) AS 'PRS'
FROM PIV
GROUP BY Tagname
請[編輯]你的問題標題的東西,說明你的問題有或問你問。 * SQL *和*數據透視表*都是您使用的標籤中的信息,這意味着標題中沒有相關內容。對於在搜索結果中找到它的未來讀者來說,它應該足夠具有描述性。謝謝。 –