mysql排序問題(對字元串類型數據進行排序)對普通數字字元串欄位排序:select * from qq ORDER BY score*1 DESC,time*1 ASC 一、在mysql操作中我們經常需要對數據進行類型轉換。此時我們應該使用的是cast()或convert()。二、兩者的對比相同點 ...
mysql排序問題(對字元串類型數據進行排序)
對普通數字字元串欄位排序:select * from qq ORDER BY score*1 DESC,time*1 ASC
一、在mysql操作中我們經常需要對數據進行類型轉換。此時我們應該使用的是cast()或convert()。
二、兩者的對比
相同點:都是進行數據類型轉換,實現的功能基本等同
不同點:兩者的語法不同,cast(value as type) 、 convert(value,type)
三、所支持的類型如下:
二進位,同帶binary首碼的效果 : BINARY
字元型,可帶參數 : CHAR()
日期 : DATE
時間: TIME
日期時間型 : DATETIME
浮點數 : DECIMAL
整數 : SIGNED
無符號整數 : UNSIGNED
select CAST(score AS signed) as score from qq ORDER BY score DESC
//參考資料https://www.cnblogs.com/awzf/p/9848458.html
------------------------------------------------------------------------------------------------------------------
排名查詢
SELECT team,SUM(score) as zscore,SUM(use_time) as zuse_time from (SELECT * from (SELECT score,use_time,openid,team from v9_zsdt_team ORDER BY score desc,use_time ASC) as tp GROUP BY openid) as qq GROUP BY team ORDER BY zscore DESC,zuse_time ASC,team ASC
隨機獲取題目
SELECT * FROM (SELECT p.id,p.title,p.thumb,p.shortt,pd.content,p.video,p.videosrc,p.zan from news as p left join news_data as pd on p.id=pd.id WHERE p.catid= 5118 ORDER BY RAND()) as temp group by video ORDER BY video ASC