當前位置:首頁 » 編程語言 » sql按源表排序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql按源表排序

發布時間: 2023-06-11 19:00:26

Ⅰ 如何把sql的表按行進行排序或進行表的行列轉換

SELECT * FROM 表名 order by 排序欄位名1,排序欄位名2,排序欄位名3

這是一個查詢語句,將表的所有欄位列出(SELECT * FROM 表名)並按指定的欄位列表排 ( order by 排序欄位名1,排序欄位名2,排序欄位名3)
另外,您要行列轉換,幾萬條記錄沒法轉換,因為一個幾萬行的表是可能的,幾萬列的表就不行了。
********************
1.一行是不能排序的。最少兩行排序才有意義。
2.排序後不會前面按順序,後面就不按順序了,您說的情況有點怪。
3.懷疑您是否將行與列的定義搞錯了?行是記錄,列是欄位,是這么理解的嗎?
4.排序時是先按第一個排序欄位排序,在第一個欄位相同是,再按第二個排序欄位排序,若第一個相同,第二字也相同,就按第三個排序欄位排序。難道這樣不合您的要求?您想怎麼辦?

Ⅱ sql中的排序,如何使用倒序

sql中排序倒序使用desc關鍵字,一般需要和order by 合用,示例sql語句如下:

例如:select * from student order by age desc;

意思是查詢學生表,以學生年紀倒序排列。

排序採用 order by 子句,order by 後面跟上排序欄位,排序欄位可以放多個,多個採用逗號間隔,order by默認採用升序(asc),如果存在 where 子句,那麼 order by 必須放到where 語句後面。

例如:select ename,job,ename from emp order by job desc,sal desc;

意思是查詢員工表按照 job 和薪水倒序排序 。


(2)sql按源表排序擴展閱讀

sql中升序(正序)用法介紹:

1、使用asc關鍵字

例如:select ename,sal from emp order by sal asc;

手動指定按照薪水由小到大排序(升序關鍵字 asc)

2、不加asc關鍵字,系統默認升序

例如:select ename,job,sal from emp where job = 」MANAGER」order by sal;

取得job 為 MANAGER 的員工,按照薪水由小到大排序(系統默
認由小到大)

Ⅲ 我想把資料庫中的一個表中的數據進行排序!!!!

如果是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
其它步驟一樣

Ⅳ SQL表中的數據按一定順序排列

1、哈哈,你對現代資料庫軟體的管理方式的理解還不夠。
2、現代的資料庫軟體存取數據時,在物理上是不會按某種默認的順序的,即便內部按順序,它取出數據展示給你時,也不會用某種固定的順序,因為,它的做派是,先取到哪個合要求的數據就取哪個。也許,今天是這幾個在前面,明天可能就是那幾個在前面了。對此,你不能糾結,也不必糾結。
3、那怎麼辦?就讓它無序的展示給我們嗎?那誰受得了?!哈哈,你如果對順序有要求,你應該「說」出來,你不說,人家怎麼知道呢。現在的資料庫你要按某順序取數據,請你加上「order」指令,比如:
select
a.*
from
table_1
a
order
by
a.id
(注意上面的指令中,table_1
表中應該有id欄位)
4、如果你的表中經常會用到某種順序取出展現,在建立表時針對性加上索引會使表的查詢速度得到一定的提高。

Ⅳ sql 多表 排序

如果,這兩張表id,userid可作關聯條件,可將兩張表關聯查詢。
如:
select a.id,a.userid,a.title,a.time,b.id,b.userid,b.title,b.time from a,b
where a.id=b.id and a.userid=b.userid
order by a.time

Ⅵ sql排序方式要根據另一個表的某個欄位排序怎麼實現

可以通過兩個表的關系,然後通過欄位關聯的形式排序。
sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.id=t2.id order by t2.name;
解釋:實際上上面語句會通過 tablename2表的name欄位先排序表tablename2數據,之後會通過id欄位關聯後,讀取出id存在於tablename2表中存在的tablename1表的數據。

備註:上面表中的id欄位的值肯定有相同的,如tablename1和 tablename2 表中id欄位都存在值「1」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。

Ⅶ sql中表的數據的排序方式如何修改

系統默認是以聚集索引排序,主鍵默認是聚集索引,也可手動改成非聚集索引,你可以添加一列標識列,就是自增列,然後把聚集索引給這列,系統就會默認按添加順序排了

Ⅷ sql語句如何根據另一個表進行排序

select a.*
from a
left join
(
select h,count(*) as c_num
from b
group by h
)t
on a.h=t.h
order by t.c_num desc/asc以B表H欄位的重復量來對A表的數據進行排序,至於是升序還是降序,樓主根據自己的需求吧