mysql获取随机题目、排序


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM