sql語句兩層,內層的排序結果對最後的結果有影響嗎?

2025-02-08 20:29:36 字數 2947 閱讀 3833

1樓:獨行盲盜

你的最終結果並沒有加排序,當然就不會排了。

select * from bus_stops where idstop in (

select idstop from contact where idline in

select idline from bus_lines where line =

order by count desc)) order by idstop

2樓:網友

內層的排序只會影響到內層,而你最後看到的結果是外層查詢出來的結果,外層並沒有排序。

就像一筐水果,第一次挑選水果(內層查詢)並說明按從小到大的順序擺放,挑選出來的水果按從小到大的順序擺放了,然後從第一次挑選出來有序擺放的水果中進行第二次挑選(外層查詢),第二次選水果沒有說明按什麼規則放(沒排序),就放在一堆了。所以最後看到的結果是一堆水果,而不是有序擺放的水果。

關於sql查詢結果排序問題

3樓:網友

第一,語句錯誤;除非另外還指定了 top 或 for xml,否則,order by 子句在檢視、行內函數、派生表、子查詢和公用表表示式中無效。

select * from (select top 100 percent * from table1 as a order by desc) newtable

最後得出的結果等價於。

select * from table1 as a

4樓:網友

不能,這是乙個錯誤的命令。

5樓:康熙轉世

可以 在裡和在外一樣。

6樓:梔株暇

不能在子查詢中使用order by

7樓:網友

這樣寫好像會報錯吧 .子查詢中不允許使用 order by 除非有top的時候才能用。

sql 語句如何按兩個欄位的計算結果排序

8樓:網友

直接select * from tabe order by a/b就行,但是你得判斷a/b這個表示式的正確定。

這兩個欄位得是數字型的,而且b不能是0

如何用sql排序然後結果帶序號

9樓:育知同創教育

比如:select 學號,日期row_number() over(partition by 學號 order by 學號) from a表。

10樓:斷的刃

不太記得了,應該是下面這樣寫。

select rownum , a,b from tablename order by a,b

rownum不知道有沒有拼錯。

讓sql語句不排序,按照in語句的順序返回結果

11樓:我tm不管

如你介面所示資料:你按id排序就可以了。

12樓:網友

select name from order where oderid in(111,222,333,444,555,666)

order by instr('111,222,333,444,555,666',orderid)

instr是orale裡面表示字串出現位置的乙個函式。db2應該也有這樣的函式。

sql語句中,如果有group by 和order by兩個語句,是先分組還是先排序?

13樓:網友

肯定是group by先。

order by優先順序最低,在最後。

group by 語句執行後記錄會按關鍵字自動公升序?

不一定,group by只負責分組。

14樓:網友

按姓名來排序:

select 姓名。

源,sum(銷售額) as 銷售 from 銷售表 order by 姓名 group by 姓名。

按銷售排序:

select 姓名,sum(銷售額) as 銷售 from 銷售表 group by 姓名 order by sum(銷售額) desc

15樓:網友

先分組,後排序。

建議 養成乙個良好的習慣,指定排序。

order by c1 asc --公升序order by c1 desc --降序。

關於sql的問題,sql語句查出的結果某欄位使用子查詢會影響效率嗎?

16樓:網友

不一定。因為dbms可能會進行查詢轉換。也就是你這麼寫了,但是資料庫可能給你等價重寫。

所以是否影響效率,得看執行計劃是否一樣。但是公司這麼要求有道理,因為不是所有的子查詢sql都可以重寫。

17樓:網友

**子查詢為確保消除重複值,必須為外部查詢的每個結果都處理巢狀查詢。在這種情況下可以考慮用聯接查詢來取代。

如果要用子查詢,那就用exists替代in、用not exists替代not in。因為exists引入的子查詢只是測試是否存在符合子查詢中指定條件的行,效率較高。無論在哪種情況下,not in都是最低效的。

因為它對子查詢中的表執行了乙個全表遍歷。

jsp中如何巢狀執行兩條sql語句,select後將按成績排序好的結果通過id然後插入排名,怎麼執行不了啊

18樓:網友

connection conn1=,dbuser,dbpassword);

連線資料庫成功");

把這行去掉。

其實你完全可以都使用一套,比如conn1,sql1,stmt1這些都用上乙個conn...然後所有都執行完之後,在呼叫,

用sql語句顯示A,B兩個表的結果,A,B結構一樣,用姓名和日期關聯,顯示結

建立測試表 create table a 姓名 varchar 10 日期 varchar 10 其他 varchar 10 create table b 姓名 varchar 10 日期 varchar 10 其他 varchar 10 insert into a values 張三 2017 0...

SQL如何對分組後的結果進行排序並且取前幾名

sql取分組中的前幾名 sql www.2cto.com create table aa class varchar 10 name varchar 10 lang int,math int goinsert into aa select 1 a1 60,70union all select 1 a...

請問為什麼下面的sql語句得出的結果或有重複值呢,謝謝

先根據樓主提供的表名和欄位名,模擬建表 測試資料 sql create table t 2 area code varchar2 10 3 local fare int 4 table created.sql declare 2 i int 3 begin 4 i 1 56 loop 7 inser...