一般这汇总情况我认为
你的id应该是自增的吧
如果是自增
那么
插入一个数据的话
就是id等于4的那个行
切
你的
desc字段应该就是
用来
排序用的吧
那么
在前台
你可以
做一个input框(每行后边都有个input框)
目的就是为了
排序你的数据
在这种情况下
就不需要改动什么字段了吧
唯一需要改动的字段内容
就是
更新
desc的字段就可以了吧
打个比方
原来是这样的
id
name
desc
1
a
0
2
c
3(改动)
3
b
2(改动)
4
d
1(追加在a后)
修改后
按
name
a
b
c
d
这么排列
id
name
desc
1
a
0
3
b
1
2
c
2
4
d
3
这是在前台显示的内容
在数据库里
你可以看到实际上
改变的
只有
desc
后边的
0
1
2
3
这几个
而数据库的表中
实际数据的位置是不会发生变化
其实你不用担心什么数据量过多的问题
且
在插入新的数据的时候
就让他的desc值默认是最大的
也就是最后一位显示
本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用orderby
子句进行排序。
再来回顾一下SQL语句中的select语句的语法:
Select
语句的基本语法:
Select
<列的集合>
from
<表名>
where
<条件>
order
by
<排序字段和方式>
如果要对查询结果按某个字段排序,则要使用order
by
子句,如下:
select
*
from
<表名>
order
by
<字段名称>
<排序方式>
下面来看两个例子,第一个查询test表中所有数据,并按t_id正序排列;第二个查询与第一个相反,是逆序排列。
mysql>
select
t_id,t_name
from
test
order
by
t_id
+------+--------+
|
t_id
|
t_name
|
+------+--------+
|
1
|
name1
|
|
2
|
name2
|
+------+--------+
2
rows
in
set
(0.00
sec)
mysql>
select
t_id,t_name
from
test
order
by
t_id
desc
+------+--------+
|
t_id
|
t_name
|
+------+--------+
|
2
|
name2
|
|
1
|
name1
|
+------+--------+
2
rows
in
set
(0.00
sec)
注意:正序排序时,可以使用asc作为排序方式的关键词,也可以不使用。逆序时,一定要使用desc作为关键词。
关于MySQL中select语句使用order按行排序,本文就介绍这么多,希望对大家有所帮助,谢谢!
就是一个动态的行列转换CREATE TABLE `c_wssb_zz` (
`aa011` varchar(10) default NULL,
`aa001` varchar(20) default NULL,
`aa014` varchar(20) default NULL,
`aa015` varchar(200) default NULL,
`aab001` varchar(20) default NULL,
`aa010` varchar(30) default NULL,
`aae216` date default NULL,
`aa013` varchar(3) default NULL,
`aa016` varchar(10) default NULL,
`aae218` date default NULL,
`aab034` varchar(20) default NULL,
`aab901` varchar(255) default NULL
)
加入这是要转换的表,表名不确定,作为一个参数, aab001、AA011这两个也不确定,也是参数,显示的结果把AA014这一列的内容横过来内容,对应AA015, 最后形成的数据格式如下
AAB034,AA011,AA001,AAB001,max(case when aa014='col1' then aa015 else '' end)as col1,max(case when aa014='col2' then aa015 else '' end)as col2,....max(case when aa014='colN' then aa015 else '' end)as colN,AAE216,AAE218,AA013,AA016
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)