1樓:匿名使用者
如果是oracle資料庫,給你兩個方案
比如你要排序的表名為"源表",有三個列"程序名","執行時間","優先順序"
一、方案1: 用臨時表,中間排序會在記憶體中進行
(在同一會話內)
1. create global temporary table 臨時表名 as select * from 源表 where 1=0
2. insert into 臨時表名 select * from 源表 order by 優先順序 -- 排序條件
3. delete from 源表;
4. insert into 源表 select * from 臨時表名 order by 優先順序
5. select * from 源表 -- 確認下排序後的資料
6. commit; -- 如果第5步確認後資料正確,如果不正確,就rollback
二、方案2: 非臨時表,中間排序會佔用磁碟儲存,適用於大表(一般為百萬行級以上)
1. create table 臨時表名 nologging as select * from 源表 where 1=0
其它步驟一樣
2樓:匿名使用者
'比較每行的優先順序之後再根據優先順序把行進行排序'
這句沒看懂,已經比較了優先順序,還要根據優先順序排序,那麼和直接用優先順序排序有什麼差別?
我想把資料庫中的乙個表中的資料進行排序!!!!
3樓:繁振英成畫
如果是oracle資料庫,給你兩個方案
比如你要排序的表名為"源表",有三個列"程序名","執行時間","優先順序"
一、方案1:
用臨時表,中間排序會在記憶體中進行
(在同一會話內)
1.create
global
temporary
table
臨時表名
asselect
*from
源表where
1=02.
insert
into
臨時表名
select
*from
源表order
by優先順序
--排序條件
3.delete
from
源表;4.
insert
into
源表select
*from
臨時表名
order
by優先順序
5.select
*from
源表--
確認下排序後的資料
6.commit;
--如果第5步確認後資料正確,如果不正確,就rollback二、方案2:
非臨時表,中間排序會佔用磁碟儲存,適用於大表(一般為百萬行級以上)1.create
table
臨時表名
nologging
asselect
*from
源表where
1=0其它步驟一樣
4樓:依良闕卿
排序的命令是sort,格式是:
sort
to新錶名
on欄位名
補充:例如下面的命令:
use學生
sort
on學號
to學生_排序
產生乙個新的
學生_排序.dbf
檔案,裡面是排序了的。
如果你只是向按照某個標準進行排序檢視一下,不生成新的檔案,那麼可以使用sql語句,例如:
select
*from
學生order
by總成績
desc
5樓:潭蘭英青綢
'比較每行的優先順序之後再根據優先順序把行進行排序'
這句沒看懂,已經比較了優先順序,還要根據優先順序排序,那麼和直接用優先順序排序有什麼差別?
sql中表的資料的排序方式如何修改
6樓:匿名使用者
系統預設是以聚集索引排序,主鍵預設是聚集索引,也可手動改成非聚集索引,你可以新增一列標識列,就是自增列,然後把聚集索引給這列,系統就會預設按新增順序排了
7樓:匿名使用者
題目本身就bai比較考人du
,sql指的是sql命令,還zhi是sql server 資料庫。如果dao是sql命令,你只要回修改它的排序子答句就行了。如果是資料庫即微軟的sql server,既然你可以談排序的問題,那你肯定能開啟它的企業管理器了,在企業管理器中,開啟你要的那一張表,上面有乙個sql按鈕,你按一下,表上面就出現乙個sql命令視窗,它已經把sql命令的框架寫出來了,你在上面添上order by 排序子句,在其後面指定排序列名就行了,可以是復合的,也就是說可以指定乙個以上的列名。
8樓:彭文傑
如果記錄新增時間的話 可以用這個時間字段排序
order by time
9樓:
加個 新增時間 字段 然後按時間排序就行
10樓:千年蟲
order by 列 asc 或者 order by 列desc
如何根據mysql資料庫中的某乙個字段進行排序?
11樓:time嵐憶
先把分類全取出來,並隨機排序,取排在第乙個分類。
例如:西裝
然後查詢的時候 order by (category='西裝') desc,category 即可實現要求。
mysql是一種開放源**的關係型資料庫管理系統(rdbms),mysql資料庫系統使用最常用的資料庫管理語言--結構化查詢語言(sql)進行資料庫管理。
mysql這個名字,起源不是很明確。乙個比較有影響的說法是,基本指南和大量的庫和工具帶有字首「my」已經有10年以上,而且不管怎樣,mysql ab創始人之一的monty widenius的女兒也叫my。這兩個到底是哪乙個給出了mysql這個名字至今依然是個迷,包括開發者在內也不知道。
mysql的海豚標誌的名字叫「sakila」,它是由mysql ab的創始人從使用者在「海豚命名」的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲史瓦帝尼的開源軟體開發者ambrose twebaze提供。根據ambrose所說,sakila來自一種叫siswati的史瓦帝尼方言,也是在ambrose的家鄉烏干達附近的坦尚尼亞的arusha的乙個小鎮的名字。
mysql,雖然功能未必很強大,但因為它的開源、廣泛傳播,導致很多人都了解到這個資料庫。它的歷史也富有傳奇性。
sql資料庫如何按照表內某列int值的大小進行排序求指教!
12樓:
怎麼說呢,並不是說做不到,而是你的理解有一點點問題。
資料庫中的「表」總的來說是無序的,也就是說,它「不應該」有「順序」的概念。乙個表裡的每個條目都是一樣的,本質上沒有「先後」。「順序」體現在對錶的「查詢」動作中。
換句話說,就是你的order by才告訴引擎,查詢到的若干條目應該以什麼樣的順序排列。這是乙個很科學也很重要的概念。因為在實際使用中,你可能今天想按某個時間字段排序,明天想按某個索引號排序,但這些所謂的「順序」都是你想要看到的資料的一種投影方式,而並不是資料本身應當具有的屬性。
如果你確實需要對資料庫中的所有條目,按某個字段排列的話,比較可行的辦法就是把它們都讀出來,排序,清空或刪除表(並重建),重新寫入資料。
13樓:_徵信
這個需要在排序語句中使用條件判斷
例如:表【table_temp】中列【col1】為字元,屬性為varchar(10),排序時需要按照b、a、c的順序顯示,則可按照以下sql語句:
select
*from
table_temp
order by
case
when col1='b' then 1
when col1='a' then 2
when col1='c' then 3end
14樓:匿名使用者
按照你想要的結果插入另一張表中;話說改變資料在表中的儲存順序沒有意義呀,這個不是前台程式做的事情麼
有「學生課程」資料庫,資料庫中包括表
1.從庫中查詢計算機系選修資料庫基礎與應用的學生的學號 姓名 成績,按學號遞增專排序,存入遊屬標student中,唯讀。2.查詢資訊工程系學生的年齡。3.cover的這個啥沒學過就幫不上忙了 等待高人吧4.貌似 如果讀取的數值為0,則不允許刪除且允許定義新值ps 不是很肯定,你可以再參考下其他人的答...
oracle資料庫表中,插入資料的時候如何產生母 數字編號
先建立乙個sequence 然後給插入資料的表寫個trigger before insert 的時候 設定這個欄位的值為 sd sequence.nextval create sequence 表名 seq increment by 1 start with 100000001 nocache in...
C中怎麼讀取SQL資料庫表中的資料後顯示在TEXTBO
private void getdatabyparmsql mand catch exception ee finally string connstring 連線字串string sql 資料庫查詢語句connection con new connection connstring mand cm...