1. sql語句排序問題
select 姓名, sum(成績) as 成績
from 【表名】 group by 姓名 order by sum(成績) desc
2. 在SQL語句中,分組用什麼子句,排序用什麼子句
排序採用ORDER BY語句:ORDER BY 語句用於根據指定的列對結果集進行排序。ORDER BY 語句默認按照升序對記錄行排序。如果希望按照降序對記錄進行排序,可以使用 DESC關鍵字。
SQL有兩種使用方式:
一是聯機交互使用,這種方式下的SQL實際上是作為自含型語言使用的。
另一種方式是嵌入到某種高級程序設計語言(如C語言等)中去使用。前一種方式適合於非計算機專業人員使用,後一種方式適合於專業計算機人員使用。盡管使用方式不向,但所用語言的語法結構基本上是一致的。
(2)sql排號等位語句擴展閱讀:
以同一種語法結構提供兩種使用方式:
SQL既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用於聯機交互的使用方式,用戶可以在終端鍵盤上直接輸入SQL命令對資料庫進行操作。作為嵌入式語言,SQL語句能夠嵌入到高級語言(如C、 C#、JAVA)程序中,供程序員設計程序時使用。
而在兩種不同的使用方式下,SQL的語法結構基本上是一致的。這種以統一的語法結構提供兩種不同的操作方式,為用戶提供了極大的靈活性與方便性。
3. sql 語句排序 在查詢結果中按人數降序排列,若人數相同,則按課程號升序排列
代碼如下:
select xuehao as 學號,score as 總成績
from CJBwhere xuehao in(
select xuehao from XSB)
group by xuehao,score
order by score desc,xuehao
select id as 學號, sum(score) as 總成績
from 成績表
group by id
order by sum(score) desc, id asc
(3)sql排號等位語句擴展閱讀
ORDER BY 語句用於對結果集進行排序。
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
order by 是用在where條件之後,用來對查詢結果進行排序。
order by 欄位名 asc/desc 。
asc 表示升序(默認為asc,可以省略)。
desc表示降序。
order by 無法用於子查詢,否則會報錯:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在視圖、內聯函數、派生表、子查詢和公用表表達式中無效。
4. SQL語句中,選擇結果如何按指定順序排序
可以這樣實現題主所要求的排序
select * from A_TABLE1 where
name in(『張三』,『李四』,『王五』)
order by (case name when '張三' then 1
when '李四' then 2 else 3 end);
5. 用SQL語句怎樣對欄位里的內容按指定順序排列
就是order by吧?指定一個列,asc或者desc正序逆序而已
6. 求一條sql語句,按照成績降序排序,並顯示名次,如123
SELECT
id,
read_total,
(
SELECT
COUNT(read_total)
FROM
t_circle_topic
WHERE
ct.read_total <= read_total
) AS rank
FROM
t_circle_topic AS ct
ORDER BY
read_total DESC
(6)sql排號等位語句擴展閱讀
ORDER BY 語句用於對結果集進行排序。
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
7. SQL語句怎麼寫先按時間排序,再按姓名排序
select client,ID,taskdate from 表名 order BY client asc,taskdate,ID desc(如果讓client為降序的話order by改成group by,asc改成desc,ID要升序desc改成asc)
將欄位依次寫在order by 後面即可 , 中間用逗號隔開
select * from 表 order by time , name
select * from 表 order by time asc , name asc
select * from 表 order by time desc , name desc
select * from 表 order by time asc , name desc
select * from 表 order by time desc , name asc
(注: asc 表示升序 , desc表示降序 , 未明確寫明排序方式時默認是升序 )
與之類似的語法是 group by , 按多個欄位分組時 , 也是依次將多個欄位寫在group by 的後面 , 並用逗號隔開 , 範例如下:
select time , name , sum(*) from 表 group by time , name
(7)sql排號等位語句擴展閱讀
可以把 SQL 分為兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。
SQL (結構化查詢語言)是用於執行查詢的語法。但是 SQL 語言也包含用於更新、插入和刪除記錄的語法。
查詢和更新指令構成了 SQL 的 DML 部分:
SELECT- 從資料庫表中獲取數據
UPDATE- 更新資料庫表中的數據
DELETE- 從資料庫表中刪除數據
INSERT INTO- 向資料庫表中插入數據
SQL 的數據定義語言 (DDL) 部分使我們有能力創建或刪除表格。我們也可以定義索引(鍵),規定表之間的鏈接,以及施加表間的約束。
SQL 中最重要的 DDL 語句:
CREATE DATABASE- 創建新資料庫
ALTER DATABASE- 修改資料庫
CREATE TABLE- 創建新表
ALTER TABLE- 變更(改變)資料庫表
DROP TABLE- 刪除表
CREATE INDEX- 創建索引(搜索鍵)
DROP INDEX- 刪除索引
8. sql排序語句問題
先得到
a 13
b 5
d 5
c 4
這樣的數據集,
然後再跟原來的數據集進行join, 用後得到的數據集進行排序。
9. SQL排名語句,高手來賜教!
第一個回答的不錯,不過有些錯誤,應該在插入臨時表時,按成績的倒序插入,
查詢時按排名正序排列,同時,最後還要刪除臨時表
---按成績的倒序插入臨時表,
select id ,name,cj, identity(int,1,1) as pm
into #lsb
from 表名 order by cj desc
--按排名的正序排列
select * from #lsb order by pm
--刪除臨時表
drop table #lsb
10. sql 語句 並列排名的問題
無論sqlserver 還是 oracle
用
rank() 或者 dens_rank() 函數。
select name,score,rank() over(order by score) tt from t;
如果有並列的話 . 他們後邊的排序會變成這樣的。 根據你的需求選用。
1
2
2
4
select name,score, dens_rank() over(order by score) tt from t;
1
2
2
3
感覺你用地2個,, dense_rank() 然後設置。 讓 虛擬的這個排序列tt<=5