比如有一个表有字段
A1,B1,C1,A2,B2,C2,A3,B3,C3,A4,B4,C4,……
怎么把这些列整理成以下的格式?
A1,A2,A3…… B1,B2,B3…… C1,C2,C3……
存储过程和函数都可以
谢谢!
sql怎么对列重新排序
答案:5 悬赏:80
解决时间 2021-03-14 08:58
- 提问者网友:饮鸿
- 2021-03-14 02:37
最佳答案
- 二级知识专家网友:一池湖水
- 2021-03-14 03:24
如果表调整,而且你恰好也是用的SqlServer那么可以通过'可视化数据库工具来调整列的顺序,'
在表上点右键-->修改,然后表里面的列式可以随意拖动的,别的数据库我不清楚,不过也应该有相应的办法才是.
在表上点右键-->修改,然后表里面的列式可以随意拖动的,别的数据库我不清楚,不过也应该有相应的办法才是.
全部回答
- 1楼网友:請叫我丶偏執狂
- 2021-03-14 08:32
给你举个例子:
a,b两个字段:
1,3
4,3
1,4
2,6
对它们排序:
order by a,b
结果:
1,3
1,4
2,6
4,3
解释:
先按a 字段排序,得1,1,2,4
如果出现a字段相同的情形,按b字段排序得到:1,3;1,4;
b字段只是在当a字段相同的时候才用到。
同理group by中也是这个逻辑。
这个逻辑所有数据库中通用。
- 2楼网友:说多了都是废话
- 2021-03-14 07:23
如果是查询,select 后面调整列名就可以了
如果是表调整,impossible...只能删除掉重新建立。。
- 3楼网友:怪咖小青年
- 2021-03-14 06:22
右击表名-->设计视图:然后进行拖动即可,像excel一样都是可以随意拖动的
- 4楼网友:哭不代表软弱
- 2021-03-14 05:03
创建一个存储程序,没有调试环境,仅是个思路:
先从系统表中读出该表的字段:以mysql5为例
SELECt GROUP_CONCAt(`COLUMN_NAME` Separator ',') FROM(
SELECt `COLUMN_NAME` FROM `information_schema`.`COLUMNS` WHERe `TABLE_SCHEMA`='test' AND `TABLE_NAME`='demo' ORDER BY `COLUMN_NAME`
)AS T1
定义一个变量来接收返回的结果, 然后将结果拼接到一个sql语句中,返回运行sql的结果集
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯