如何把SQL的表按行进行排序或进行表的行列转换

来源:百度知道 编辑:UC知道 时间:2024/07/04 17:47:51
这是部份数据,把他们按升序排列或者行列转换。
1 9 10 17 30 15 18 0
2 9 10 17 30 29 14 0
3 9 10 17 30 29 18 0
4 9 10 17 32 3 18 0
5 9 10 17 32 15 14 0
6 9 10 17 32 15 18 0
7 9 10 17 32 29 24 0
8 9 10 17 32 29 14 0
有几万行数据。望各位高手写得祥细一点。重金导答案
能不能再祥细一点啊。我对这个不是太懂。把语句写祥细一点,好吗?
我试过了,还是不行。我不知道是不是我说得不请楚。我要的是每一行都按升序排列。如果按SELECTE * FROM 表名 order by 的话,到后面来就不对了。我要的是按行的升序排列。也就是说不管哪一行都是升序,按SELECTE * FROM 表名 order by 排序后出现这样的结果,这是我不想要的。(所有的行都按升序排列。)求大家多多回答。谢谢。
462062 1 20 15 29 24 14
462063 1 20 15 29 24 18
462155 1 20 16 19 4 18
462154 1 20 16 19 4 22
462152 1 20 16 19 21 14
462153 1 20 16 19 21 18
462150 1 20 16 19 21 22
462151 1 20 16 19 21 24
462158 1 20 16 19 22 14

SELECT * FROM 表名 order by 排序字段名1,排序字段名2,排序字段名3

这是一个查询语句,将表的所有字段列出(SELECT * FROM 表名)并按指定的字段列表排 ( order by 排序字段名1,排序字段名2,排序字段名3)
另外,您要行列转换,几万条记录没法转换,因为一个几万行的表是可能的,几万列的表就不行了。
********************
1.一行是不能排序的。最少两行排序才有意义。
2.排序后不会前面按顺序,后面就不按顺序了,您说的情况有点怪。
3.怀疑您是否将行与列的定义搞错了?行是记录,列是字段,是这么理解的吗?
4.排序时是先按第一个排序字段排序,在第一个字段相同是,再按第二个排序字段排序,若第一个相同,第二字也相同,就按第三个排序字段排序。难道这样不合您的要求?您想怎么办?

用by order
和REQUEST QUREEY结合。

SELECT * FROM 表名 order by 排序字段名1,排序字段名2,排序字段名3 这样默认是升序的,如果要降序
SELECT * FROM 表名 order by 排序字段名1,排序字段名2,排序字段名3 desc 就OK了

这是一个简单的Select * From Table_Name Order By 列名 查询,
排序用到关键词 order by 就可以了!
至于行列转换,你这个表是不能的了,因为一个表中,列字符长度总和不能超过8000字节,而你说你这个表有上万条数据,这是远远超过的!