您的位置:

mysql数据库自动重新排序(mysql数据库自动重新排序吗)

本文目录一览:

如何对mySQL数据库中某些特定字段进行排序?

1、以日期进行排序

select

Rownum

"ID"

,

日期

,

金额,

商品

From

(select

日期,金额,商品

from

order

by

日期)

2、在排序后要求数据库中内容发生变化,如果不是考试的话是没人故意这么玩的。

任何对于数据的ID字段进行手工变动都是愚蠢而白痴的行为。

让然如果是老师故意考你们的话,可以用下面这个简单方法。

①建立临时表,使id字段为自增字段

create

table

tableName

(

id

INT(20)

not

null

AUTO_INCREMENT,

--自增属性

日期

char(20)

not

null,

金额

char(5)

not

null,

商品

char(2)

not

null

);

②将排好的数据插入新建的临时表

Insert

into

tableName(日期,金额,商品)

select

日期,金额,商品

from

原始表

order

by

日期

③将原表改成其他名,并将第二步建的中间表改名为原表名

alter

table

表1

rename

to

表2

我手头没有mysql只能按印象写出代码,你拿去试一下吧。

我印象中mysql对pl的支持不好,所以只给出了用sql语句的方案,你参考下吧。

phpmysql数据库项目从新排序输出问题

将最后一句echo $tem修改成$data[] = $tem,将所有的$tem存进$data数据,接着用rsort($data),就会按照数组元素的值的大小进行从大到小的排列,然后取出$data[0],$data[1],$data[2],$data[3],$data[4]就是你要的前5个最大的了

代码在你的基础上改的,前面没动从echo $tem开始修改

while ($item = mysql_fetch_array($rs)) {

if( $item["season"]==$tm){

$bnun = Sqrt($item["ccz"]*$item["ccz"] +$item["sjz"]*$item["sjz"]);

for($c=1; $c=6; $c++) {

$anun[$c] = Sqrt($caizi[$c] *$caizi[$c] +$sheji[$c]*$sheji[$c] );

if($anun[$c]!=0){

$temp[$c]= ($caizi[$c]*$item["ccz"] + $sheji[$c]*$item["sjz"])/$anun[$c] *$bnun;

}

else{$temp[$c]=0;}

}

$tem = ($temp[1] +$temp[2] +$temp[3][a] +$temp[4] +$temp[5])/$num1;

$data[] = $tem;

}

}

rsort($data);

echo $data[0];

echo $data[1];

echo $data[2];

echo $data[3];

echo $data[4];

mysql表内数据怎么重新排序

比如1-2w是A累,2w-2.5w是B类,C类,D类.....,让这些数据随机重新排序

-ORDER('RAND()' )

mysql 怎么将表的id的重新排序

之前一个表本来有数据的 后面删除了记录 但是添加ID后排序不是重1开始的

如果是自增字段,删除数据,是根据原来的继续往后排的

1、可以删除这个字段,重新建立个自增字段就可以了

2、也可以重新设置排序起始

alter table table_name AUTO_INCREMENT=n

例如:

alter table papa_group AUTO_INCREMENT=1

关于mysql数据库排序的问题

那要看你的表是怎么构建的

一般这汇总情况我认为

你的id应该是自增的吧

如果是自增

那么

插入一个数据的话

就是id等于4的那个行

你的

desc字段应该就是

用来

排序用的吧

那么

在前台

你可以

做一个input框(每行后边都有个input框)

目的就是为了

排序你的数据

在这种情况下

就不需要改动什么字段了吧

唯一需要改动的字段内容

就是

更新

desc的字段就可以了吧

打个比方

原来是这样的

id

name

desc

1

a

2

c

3(改动)

3

b

2(改动)

4

d

1(追加在a后)

修改后

name

a

b

c

d

这么排列

id

name

desc

1

a

3

b

1

2

c

2

4

d

3

这是在前台显示的内容

在数据库里

你可以看到实际上

改变的

只有

desc

后边的

1

2

3

这几个

而数据库的表中

实际数据的位置是不会发生变化

其实你不用担心什么数据量过多的问题

在插入新的数据的时候

就让他的desc值默认是最大的

也就是最后一位显示