位置: 编程技术 - 正文

MySQL 按指定字段自定义列表排序的实现(mysql向指定字段中添加数据)

编辑:rootadmin

推荐整理分享MySQL 按指定字段自定义列表排序的实现(mysql向指定字段中添加数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql按某个字段排序,mysql字段按照字母顺序排序,mysql按指定字段排序,mysql查询指定字段,mysql查询指定字段,mysql按指定字段排序,mysql字段按照字母顺序排序,mysql按指定字段排序,内容如对您有帮助,希望把文章链接给更多的朋友!

问题描述

大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同):

SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` ASC

降序排列的 SQL 为:

SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` DESC

有时以上排序并不能满足我们的需求。 例如, 我们想要按 id 以 5, 3, 7, 1 的顺序排列, 该如何实现。 这也是很多国内外同行经常遇到的问题之一。

下面我们给出按表中某字段, 以我们想要的列表方式排序的解决方案。

解决方案

MySQL 按指定字段自定义列表排序的实现(mysql向指定字段中添加数据)

用"按字段排序" (ORDER BY FIELD).

语法

ORDER BY FIELD(`id`, 5, 3, 7, 1)

要注意的是,FIELD 后面是没有空格的。

因此, 完整的 SQL 为:

SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY FIELD(`id`, 5, 3, 7, 1)

常见应用

SELECT * FROM `MyTable` WHERE `name` IN ('张三', '李四', '王五', '孙六') ORDER BY FIELD(`name`, '李四', '孙六', '张三', '王五')

以上这篇MySQL 按指定字段自定义列表排序的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

mysql 列转行的技巧(分享) 前言:由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。这种模

mysql列转行以及年月分组实例 如下所示:SELECTcount(DISTINCT(a.rect_id))zcount,a.job_dept,DATE_FORMAT(submit_date,'%Y-%m')zsubmit_dateFROM表名aWHEREa.statu=3ANDa.rstatu=2ANDa.job_deptIN('','','')GROUPBYa.job_dept,DATE

mysql 列转行,合并字段的方法(必看) 数据表:列转行:利用max(casewhenthen)max---聚合函数取最大值(casecoursewhen'语文'thenscoreelse0end)---判断as语文---别名作为列名SELECT`name`,MAX(CASEWHENcourse='语文'THEN

本文链接地址:https://www.jiuchutong.com/biancheng/349895.html 转载请保留说明!

上一篇:mysql索引使用技巧及注意事项(mysql索引用法)

下一篇:mysql 列转行的技巧(分享)(mysql sql行转列)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络