rt:由于資料都是同一時間采集多個資料且分行顯示的,目前打算行轉列,但的出來的效果確是下面的,有沒有辦法將同時間的合并到一起?
uj5u.com熱心網友回復:
直接GROUP BY不就可以了。SELECT TIMESTAMP,MAX(風機2風量) AS 風機2風量,MAX(風機1風量) AS 風機1風量
FROM TABLE
GROUP BY TIMESTAMP
uj5u.com熱心網友回復:
不行的呀,風量1和2不是列,是根據TAGNAME中的數值檢索出來的
uj5u.com熱心網友回復:
那你把你查詢出來的結果集作為一個派生表,然后再GROUP BY取最大值。或者行轉列之前,先把RAWDATA表根據TIMESTAMP和TAGNAME分組取最大值,再行轉列試試。
uj5u.com熱心網友回復:
你得把你的資料和表結構貼出來看看,按理說是不會出現你這情況的
uj5u.com熱心網友回復:
SQL陳述句:SELECT * FROM (
SELECT [TIMESTAMP],CAST(TAGNAME AS NVARCHAR(MAX)) AS TAGNAME,[VALUE] FROM [HH2].[!Root].[TFXT].[RAWDATA]) p PIVOT
(MAX(VALUE) FOR TAGNAME IN (風機1風量,風機2風量) ) AS pvt
ORDER BY CAST(pvt.[TIMESTAMP] AS NVARCHAR(MAX))
資料用的鏈接服務器,我將資料匯出供大家測驗,需要大家自己建立下表結構;
鏈接: https://pan.baidu.com/s/1m-rxHnKCQiINBet_je_hyg 提取碼: h7g5 復制這段內容后打開百度網盤手機App,操作更方便哦
uj5u.com熱心網友回復:
對了,提醒下,不能使用select cast,目前測驗資料只有2個所以比較簡單,測驗資料是變化的,數量和名稱以后都會不同。uj5u.com熱心網友回復:
沒有大神能回答解決下嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/38027.html
標籤:疑難問題
上一篇:游標問題
