本文目录一览:
- 1、如何对mySQL数据库中某些特定字段进行排序?
- 2、phpmysql数据库项目从新排序输出问题
- 3、mysql表内数据怎么重新排序
- 4、mysql 怎么将表的id的重新排序
- 5、关于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值默认是最大的
也就是最后一位显示