❶ MySQL,如何將一列根據條件轉化為三列
這是不合理的, 你這個問題本身就存在錯誤,同一個表 固定的一個欄位 每個欄位對應了 一條數據,如果 1 是2和3的父 那麼可以轉成 1 2 13 兩條數據,其他的不行,破壞了數據結構
❷ mysql 多列轉多行
你可以這樣
selectid,type,name,c1asc_nunion
selectid,type,name,c2asc_nunion
selectid,type,name,c3asc_nunion
selectid,type,name,c4asc_nunion
selectid,type,name,c5asc_norderbyid;
看看行不
❸ sql 數據表一列變多列
--測試環境mssql2008
--這就是行列轉換
CreateTAbleT
(
日期date,
時間time,
設備Varchar(10),
數值int
)
insertintoTvalues('2015-10-15','10:11:12',1,10)
insertintoTvalues('2015-10-15','10:11:12',2,11)
insertintoTvalues('2015-10-15','10:11:12',3,12)
insertintoTvalues('2015-10-15','10:11:12',4,13)
insertintoTvalues('2015-10-15','10:11:12',5,14)
insertintoTvalues('2015-10-15','10:11:12',6,10)
insertintoTvalues('2015-10-15','10:11:12',7,11)
insertintoTvalues('2015-10-15','10:12:12',1,2)
insertintoTvalues('2015-10-15','10:12:12',2,3)
insertintoTvalues('2015-10-15','10:12:12',3,4)
select*fromt
pivot
(
sum(數值)
for
設備in([1],[2],[3],[4],[5],[6],[7])
)p
select日期,時間,
SUM(Casewhen設備=1then數值else0end)As[1],
SUM(Casewhen設備=2then數值else0end)As[2],
SUM(Casewhen設備=3then數值else0end)As[3],
SUM(Casewhen設備=4then數值else0end)As[4],
SUM(Casewhen設備=5then數值else0end)As[5],
SUM(Casewhen設備=6then數值else0end)As[6],
SUM(Casewhen設備=7then數值else0end)As[7]
fromt
Groupby日期,時間
❹ mysql 中怎麼把一列多行變成一行多列
mysql 中怎麼把一列多行變成一行多列
你這個轉換的規則貌似無法用簡單的sql實現,還是用游標進行循環吧。
❺ mysql中將一列以逗號分隔的值分割成多列顯示
可以用
SUBSTRING
_INDEX()函數
在mysql中提供了一些
字元串操作
的函數,其中SUBSTRING_INDEX(str,
delim,
count)
str:
要處理的字元串
delim:
分割符
count:
計數
如果為正數,則從左開始數,如果為負數,則從右開始數
❻ SQL返回一列數據變成多列
正解
SELECT 名字,SUM(CASE WHEN 類型=1 THEN 1 ELSE 0 END) AS 類型A,
SUM(CASE WHEN 類型=2 THEN 1 ELSE 0 END) AS 類型B,
SUM(CASE WHEN 類型=3 THEN 1 ELSE 0 END) AS 類型C,
COUNT(*) AS 總計
FROM 表
GROUP BY 名字
❼ 如何將mysql表的一列拆分為多列
請慢Copy到Excel:
先Copy到Word——全選——菜單欄——表格——轉換——文本轉換成表格——(默認空格)——確定;
全選——復制——Excel菜單欄——編輯——選擇性粘貼——文本——確定;
哪些需要合並的再合並:
1、直接各刷選後一次操作:Ctrl+1——對齊——文本控制——合並單元格——確定。
2、另起一列用&號合並:輸入(如=B1&C1&D1)回車並下拉;
選該列——復制——菜單欄——編輯——選擇性粘貼——數值——確定——刪除原來的列。
❽ mysql如何從一列數據中做處理變成兩列
汗 加個欄位啊
SQL語句:
ALTER TABLE `表名` ADD `欄位名` int( 11 ) NOT NULL ;
❾ mysql 存儲過程把一列分多列
不需要寫過程的,就是個行轉列查詢,使用group by分組即可,語句如下:
INSERT INTO New_Mydata
(Nameid, Allc1, Allc2, Allc3, Allc4, ALL)
SELECT Nameid,
SUM(CASE Allc WHEN '滿意' THEN 1 ELSE 0 END),
SUM(CASE Allc WHEN '一般' THEN 1 ELSE 0 END),
SUM(CASE Allc WHEN '不滿意' THEN 1 ELSE 0 END),
SUM(CASE Allc WHEN '未平' THEN 1 ELSE 0 END),
SUM(*)
FROM Mydat
GROUP BY Nameid
❿ mysql 如何批量修改一列數據
26個英文字母,a的排序為1,……,z的排序為26。建議採用存儲過程循環批量處理。