簡體   English   中英

sql查詢升序或降序

[英]sql query ascending or descending order

在我的項目中,我想執行一個查詢,即執行kms明智的ASC | DESC查詢

我的查詢是:

select p_kms from Places where place_type='1' ORDER BY p_kms DESC

我的輸出是:

p_kms
81
71
70
602
52
493
272
245
2049
1968
1948
1852
1813
1811
1807
1771
1758
174
1737
125
125
123
107
1035

請讓我知道如何解決此查詢。 我同時使用ASCDESC兩種方法,但都沒有獲得令人滿意的結果。 如何在ASC顯示p_KMS DESC mode(ORDER BY p_KMS ASC|DESC)在MS SQL Server中(我使用的是2005版)在列或列數上創建索引時,可以指定每列的索引是升序還是降序。 我很難理解為什么這個選擇仍然存在。 使用二進制排序技術,兩種方式的查找都不會一樣快嗎? 我選擇哪個順序有什么不同?

嘗試這個,

ORDER BY p_kms * 1 DESC 

會將其轉換為數字,因為它似乎是文本值。 或使用

ORDER_BY cast(p_kms as unsigned) DESC 

檢查表定義並進行更改。 您可以像這樣將數據類型更改為int

ALTER TABLE your_table MODIFY COLUMN p_kms int;

我假設p_kms是一個varchar。 因此,您在訂購時必須將其轉換為數字:

select p_kms from Places where place_type='1' ORDER BY cast(p_kms as unsigned) DESC

您的查詢是正確的,但是您想將字段“ p_kms”更改為整數,

ALTER TABLE  Places MODIFY COLUMN p_kms int;

希望你能得到:)享受:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM