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)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值