Mysql小細節

1.orderNum 排序號
   先排序再設序號
SELECT @rownum :=@rownum + 1 AS rank,a.userId,a.userName,a.sex
FROM (SELECT @rownum := 0) r,
(SELECT uwr.userId,uwr.userName,uwr.sex,SUM(uwr.score) totalScore
FROM user_word_round uwr GROUP BY uwr.userId ORDER BY totalScore DESC) a

2.使用count聚集函數但是需要按其他字段排序

SELECT count(id) count,unit FROM word_info WHERE wordGrade=3.1 GROUP BY unit ORDER BY unit*1;
這條sql查詢出來的數據排序並不是想要的

SELECT * FROM (SELECT unit,count(id) FROM word_info WHERE wordGrade=3.1 GROUP BY unit) a ORDER BY unit
嵌套一層子查詢後排序正常

3.刪除字段結尾的回車換行
update book_info set `name`=left(`name`,locate(char(13),`name`)-1);

left函數:
     截取指定字符左邊的字符串
locate函數:
     獲取指定字符第一次出現的位置
獲取指定字符最後一次出現的位置
SELECT LEFT(str, LENGTH(str) - LOCATE('.', REVERSE(str)))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章