Mysql查询指定某字段顺序排序的两种方法

Mysql查询按照某字段指定顺序排序的两个方法,FIELD和substring_index。

 代码如下 复制代码
SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY FIELD(id,5,3,6,1);

或者:

 代码如下 复制代码
SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY substring_index((id,5,3,6,1),id,1);
时间: 2024-09-21 07:50:16

Mysql查询指定某字段顺序排序的两种方法的相关文章

mysql数据库自增id重新从1排序的两种方法

使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可: 通常的设置自增字段的方法: 创建表格时添加: create table table1(id int auto_increment primary key,...) 创建表格后添加: alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key. 例子 alter

ZZUOJ 1199 大小关系(拓扑排序,两种方法_判断入度和dfs回路判断)

/* 这道题如果按照度为0的节点来判断的时候,将度为0的节点和其相连的节点(度数并减去1) 从图中去掉,如果度为0的节点的个数为0个但是图中的节点没有都去掉的 时候那么说明 出现了回路!用这种方法必须将重边去除掉! 所以推荐用dfs方式进行判断!这种方式还是比较直观的! */ #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace st

linux shell实现获取用户输入指定范围的单个字符的两种方法_linux shell

方法一: 复制代码 代码如下: echo `echo {a..z}``echo {A..Z}` > /tmp/letterfilewhile read -p "please input a letter: " letterdo    ((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && break

c++连接mysql数据库的两种方法(ADO连接和mysql api连接)_C 语言

第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

mysql查询,因为字段设计有差异

问题描述 mysql查询,因为字段设计有差异 有2表,1张短信表(发送量int,时间timestamp), 1张流量表(流量数varchar,时间bigint) 求2015年每月短信总数和流量总数 解决方案 MySQL字段拼接查询 解决方案二: 做类型转化啊:: 因为你并没有说存的时间是什么时候所以我就默认为天 第一张就是 select sum(短信) from 短信表 where to_char(时间) like ''%找出当月所有时间段的共同点%//得到的是短信总和 第二张表是 select

golang mysql查询返回不定字段

golang mysql查询返回不定字段实现如下: 首先通过func (rs *Rows) Columns() ([]string, error)获取查询字段的slice,然后构造slice,将每次scan出来的值放进去,最后返回查询结果的map slice. package main   import (  "database/sql"  "fmt"  _ "github.com/go-sql-driver/mysql" )   func ma

数据-Mysql查询出现BLOB字段

问题描述 Mysql查询出现BLOB字段 我在做一个学校的学生数据录入,一共有1200+的班级学生表,用select union语句 把所有学生输出到屏幕时,班级编号栏出现blob,navicat下对blob点击备注,班级 编号是可以从备注显示的, 而我如果select union到第1064张班级表,班级编号栏是显示正常的,请问这是什么原因呢??

用Java集合中的Collections.sort方法如何对list排序(两种方法)_java

第一种是list中的对象实现Comparable接口,如下: /** * 根据order对User排序 */ public class User implements Comparable <user> { private String name; private Integer order; public String getName() { return name; } public void setName(String name) { this.name = name; } publi

Excel表格排序的几种方法

方法一:日期按时间排序 进入到操作界面,如图所示,首先选中需要排序的单元格区域,在选中开始菜单上的"数据",至"排序"选项卡,在弹出的"自定义排序次序"中找到日期的排序方式即可,然后在点击确定即可完成操作,如图所示: 相关教程:excel输入日期 现在我们来预览排序完成后的效果吧.如图所示: 方法二:数据按住数字大小排序 进入到操作几面,小编随便输入几个数字,如图所示: 选中需要排序的单元格,在选中开始菜单上的"数据",至&q