mysql中文、英文別名排序問題,order by 關鍵字詳解


 order by 關鍵字詳解:

 
SELECT
intcode    AS 商品編碼,
product_title AS 名稱,
retailprice AS 零售價,
purchaseprice AS 合同進價
FROM product_detail
WHERE brand='0063飄柔'
AND purchaseprice>10
ORDER BY purchaseprice DESC;
 
desc是降序。升序關鍵字是 ASC,如果不寫desc和ASC,默認是升序排列的
 
 
 
 
下面搞一搞中文別名排序:
SELECT
intcode    AS 商品編碼,
product_title AS 名稱,
retailprice AS 零售價,
purchaseprice AS 合同進價
FROM product_detail
WHERE brand='0063飄柔'
AND purchaseprice>10
ORDER BY '零售價' DESC;
本來想按照中文別名來排序,但是輸出竟然是按照默認的升序。看來order by 語句出錯了,就不執行了
 
 
 
 
起個英文別名試試:
SELECT
intcode    AS 商品編碼,
product_title AS 名稱,
retailprice AS tt,
purchaseprice AS 合同進價
FROM product_detail
WHERE brand='0063飄柔'
AND purchaseprice>10
ORDER BY tt DESC;
竟然成功了。而且測試發現tt還不能加單引號。
 
 
 
我靠,想想不對啊,我把中文別名也不加單引號試試。發現是我搞錯了:
SELECT
intcode    AS 商品編碼,
product_title AS 名稱,
retailprice AS 零售價,
purchaseprice AS 合同進價
FROM product_detail
WHERE brand='0063飄柔'
AND purchaseprice>10
ORDER BY 零售價 desc;
ORDER BY 零售價 desc   語句中的零售價是中文,不加單引號,也能排序!!
 
 
小結:(1)mysql對於執行順序比較靠后的語句,如果出錯了就不執行,而且不報錯。
            (2)按照查詢出來的字段的別名排序也是可以的,不管別名是中文還是英文,只要不加單引號就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM