mysql存储过程 分列

mysql存储过程 分列,第1张

不需要写过程的,就是个行转列查询,使用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

SELECT SUBSTRING_INDEX(name, '=', 1) AS city, SUBSTRING_INDEX(name, '=', -1) AS name FROM TB_USER

上面那个是用于查询的,如果是想修改数据库,则用下面的语句:

ALTER TABLE TB_USER

ADD COLUMN city VARCHAR(16) NULL

UPDATE TB_USER SET city = SUBSTRING_INDEX(name, '=', 1),

name = SUBSTRING_INDEX(name, '=', -1)

截取头字符虚拟一个列出来,然后按该列排序即可。

如:

SELECT id,name,substring(name,1,1) AS firstStr

FROM `testorder`

ORDER BY firstStr


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/6167637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存