本文目錄一覽:
- 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值默認是最大的
也就是最後一位顯示
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130171.html