❶ 用sql語句設置某個欄位的排序方式
表的欄位排序方式是根據聚集索引列的排序方式決定的,你在創建聚集索引時就可以規定排序方式了,但是只能規定一種,因為一個表只能有一個聚集索引。
若相同時排多列,只能進行數據檢索式對結果集進行排序操作了,如2樓所說。
❷ 如何用SQL語句給資料庫欄位名排序
新建一個表,將舊表數據導入新表,然後新表的欄位排序就是OK的了.
insert into AA_NEW( ID1,ID2,ID3,ID4 ) (select ID1,ID2,ID3,ID4 from AA)
然後把AA刪了,將AA_NEW改名成AA
❸ msSQL 根據2個條件進行重新排序並增加一個排序欄位
ORDER BY 後可加2個欄位,用英文逗號隔開。
1、f1用升序, f2降序,sql該這樣寫;
ORDER BY f1, f2 DESC
2、也可以這樣寫,更清楚;
ORDER BY f1 ASC, f2 DESC
3、如果都用降序,必須用兩個desc;
ORDER BY f1 DESC, f2 DESC
❹ 如何根據MYSQL資料庫中的某一個欄位進行排序呢
先把分類全取出來,並隨機排序,取排在第一個分類。
例如:西裝
然後查詢的時候 order by (category='西裝') desc,category 即可實現要求。
❺ 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」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。
❻ msSQL 根據2個條件進行重新排序並增加一個排序欄位
ORDER
BY
後可加2個欄位,用英岩敗改文逗號隔開。
1、f1用升序,
f2降序,sql該這樣寫;
ORDER
BY
f1,
f2
DESC
2、也可以這樣寫枯銷,更清楚;
ORDER
BY
f1
ASC,
f2
DESC
3、如果都用降序,必須粗判用兩個desc;
ORDER
BY
f1
DESC,
f2
DESC
❼ SQL查詢結果加入排序值的問題
select *
from 表
order by (select case sunxun when 'A' then 3 when 'B' then 1 when 'C' then 2 when 'D' then 4 end)
試試吧,SQL SERVER適用。
兩表聯合查詢,再排下序就行了INNER JOIN 運算
組合兩個表中的記錄,只要在公共欄位之中有相符的值。
語法
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2
INNER JOIN 運算可分為以下幾個部分:
部分 說明
table1, table2 記錄被組合的表的名稱。
field1, field2 被聯接的欄位的名稱。若它們不是由數字構成的,則這些欄位必須為相同的數據類型並包含同類數據,但它們無須具有相同的名稱。
compopr 任何的關系比較運運算元:"=," "<," ">," "<=," ">=," 或 "<>."
說明
可以在 FROM 子句中使用INNER JOIN運算。.這是最普通的聯接類型。只要在這兩個表的公共欄位之中有相符值,內部聯接將組合兩個表中的記錄。
可以使用 INNER JOIN 與部門表及員工表選擇每一個部門中的全部員工。反之,可以使用 LEFT JOIN或 RIGHT JOIN運算創建 outer join,從而選擇所有部門(即使有些並沒有員工)或所有員工(即使有些尚未分配到部門)。
若試圖聯接包含 Memo或 OLE Object數據的欄位,會導致錯誤。
可以聯接任何兩個相同類型的數值欄位。例如,可以聯接 AutoNumber和 Long欄位,因為它們類型相似。但不能聯接 Single 和 Double 類型的欄位。
下列示例顯示如何在類標識符欄位聯接類表及產品表:
SELECT CategoryName, ProctName
FROM Categories INNER JOIN Procts
ON Categories.CategoryID = Procts.CategoryID;
在上面的示例中,類標識符是已被聯接的欄位,但是它並不包含在查詢輸出中,因它並非被包含在 SELECT 語句之中。在這個示例中,若要包含聯接欄位,將欄位名包含在 SELECT 語句中, Categories.CategoryID.
也可以使用下列語法,在一個 JOIN 語句中鏈接多個 ON 子句:
SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field1 AND
ON table1.field2 compopr table2.field2) OR
ON table1.field3 compopr table2.field3)];
也可以使用下列語法,嵌套 JOIN 語句:
SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;
在一個 INNER JOIN 之中,可以嵌套 LEFT JOIN 或 RIGHT JOIN,但是在 LEFT JOIN 或 RIGHT JOIN 中不能嵌套 INNER JOIN。
--------------------------------------------
ORDER BY 子句
按照遞增或遞減順序在指定欄位中對查詢的結果記錄進行排序。
語法
SELECT 欄位表
FROM 表
WHERE選擇准則
[ORDER BY欄位1 [ASC | DESC ][, 欄位2 [ASC | DESC ]][, ...]]]
包含 ORDER BY 子句的 SELECT 語句具有以下幾個部分:
部分 說明
fieldlist 要和任何欄位名別名, SQL 合計函數s, 選擇斷定 (ALL, DISTINCT, DISTINCTROW或 TOP)或其他 SELECT 語句 選擇一起檢索的欄位名稱。
table 從其中獲取記錄的表的名稱。欲知更多信息請看 FROM 子句.
selectcriteria 選擇准則。如果此 語句 包含一個 WHERE 子句, Microsoft Jet資料庫引擎 會在記錄上應用WHERE條件,然後把值排序。
field1, field2 要排序記錄的欄位名。
說明
ORDER BY 是可選的。不過,如果要將數據以排序時的順序顯示出來,就必須使用 ORDER BY。
預設排序順序是升序 (A至 Z, 0至 9).以下兩個示例都用雇員的姓對雇員姓名排序:
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName ASC;
為按遞減順序排序(Z 至 A,9 至0),必須將 DESC 保留字添加到要遞減排序的每一欄位的尾部。下例選擇雇員薪金並對雇員用遞減順序排序。
SELECT LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName;
如果你在ORDER BY 子句中標明了包含 Memo或 OLE Object數據的一個欄位,一個錯誤就產生了。Microsoft Jet 資料庫引擎不對這些類型的欄位排序。
ORDER BY通常是 SQL 語句中最後一項。
ORDER BY 子句可包含添加的欄位。首先用 ORDER BY之後列舉的第一個欄位對記錄排序。然後對此欄位中等值的記錄用第二欄位列舉的值進行排序,依此類推。
❽ sql 添加自定義排序
sql 添加自定義排序
Mysql :
SELECT (@i:=@i+1) AS ind ,字仿源段 FROM 表名 別名, (SELECT @i:=0) t WHERE `IsDeleted` = 0;
Oracle:
本就有rownum。可直接用:SELECT rownum,欄位 FROM 表名;
SqlServer:
SELECTROW_NUMBER()OVER(ORDERBYID) ROWNU,欄位FROM表備差態名;
給表中所慶銀有數據重新排序
SELECT(SELECTCOUNT(`Id`)FROM表名 別名1WHERE別名1.`IsDeleted`=0AND別名1.`Id`<=別名2.`Id`)ASseq ,別名2.*FROM表名別名2WHERE別名2.`IsDeleted`=0AND別名2.`WLTId`=3;
❾ sql 多個欄位排序
sql多個欄位排序,使用order by操作就行,多字欄位排序只需要添加多個排序條件,並且每個排序的條件之前用逗號分開;比如 order by id asc, name desc; 就是結果先根據id升序排列後,然後再依使用 name 倒序排列。
❿ 使用SQL語句怎樣實現對欄位內容的排序
select * from 表名稱 order by paixu
按照paixu欄位進行升序排序即可,漢字按照拼瞎褲音聲母次序排衡頌列,自然「精華」排在咐神鄭「普通」前面。