前言
最近一直在忙公司新项目开发, 主要是用go开发后端功能, 所以一直都没时间写博客了, 也不知道要写些啥, 正好刚有个朋友问我排序的问题, 平常用的也比较多, 这里写一篇划波水 (用Go一时爽, 一直用Go一直爽)
开始表演
默认排序
都知道 sql 默认自带排序, 字符串的话按照字母顺序来, 数字的话按照数字大小来, 比如这个样子
这是表结构
sql 语句及执行结果
自定义排序
实际过程中我们可能会需要自己自定义排序, 比如字段里的rev, 我想按照 (1,3,2) 这样的方式来查怎么办
select * from docs order by field (rev, 1,3,2) asc;
如果我要 1的优先级最高, 2和3平级按照content来排序呢
select * from docs order by field (rev, 1) desc, content asc;
总结
到这里基本也就都清楚了, 语法为 order by field (字段名, 数据排序顺序…),
把需要排序的数据写进去, field函数会进行比较返回 1,2,3进行排序, 默认正序(asc), 没有数据或不在排序列表返回0;