喜有人可以幫助我,我就如何此行具有相同的ID號分隔成列的一些問題。我已經嘗試了一些SQL函數像GROUP_CONCAT()
或SUBSTRING_INDEX()
功能,但我不知道它是如何工作
我所要的輸出是這個樣子
喜有人可以幫助我,我就如何此行具有相同的ID號分隔成列的一些問題。我已經嘗試了一些SQL函數像GROUP_CONCAT()
或SUBSTRING_INDEX()
功能,但我不知道它是如何工作
我所要的輸出是這個樣子
應該解決您的問題:
INSERT INTO output SELECT
input.ID,
MIN(input.Unit_Cost),
MAX(input.Unit_Cost)
FROM input
GROUP BY input.ID
您可以嘗試數據透視表查詢:
SELECT
t1.`Unit_Cost` as `Unit_Cost1`,
ifnull(t2.`Unit_Cost`,'') as `Unit_Cost2`
FROM table t1
LEFT JOIN table t2
ON t1.`ID` = t2.`ID`
GROUP BY `ID`
ORDER BY `ID`
我想你不能將它分離爲列,因爲那麼你可以理性地擁有無限數量的列,當ID
對於無限數量的行將是相同的。但是您可以按照您的建議製作GROUP_CONCACT()
,然後將應用程序中的值與例如split()
函數分開。
SELECT ID, GROUP_CONCAT(Unit_Cost SEPARATOR ';') Unit_Cost
FROM CostTable
GROUP BY ID
Here are more examples與GROUP_CONCAT()
請發表您的樣品你的問題裏面格式化文本(不要使用圖片,PLS) – etsa