mysql in根据查询id排序

mysql in根据查询id排序

mysql in根据查询时,返回结果是自行排序的,如果要按照我们查询的ID进行排序,
要用到order by field,下面用几个例子来说明一下mysql in查询排序

例子: www.bitsCN.com

SQL:select * from table where id IN (3,6,9,1,2,5,8,7);

这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里
面的顺序排序怎么办?我们可以用order by field

SQL: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

查询出来的结果就是按自定义的ID进行排序了.

时间: 2024-10-28 03:01:34

mysql in根据查询id排序的相关文章

mysql如何按特定id排序

问题描述 mysql如何按特定id排序我想讲数据按某些特定id排前面,怎么做到?SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `p`-- ----------------------------DROP TABLE IF EXISTS `p`;CREATE TABLE `p` ( `id` int(11) NOT NULL auto_increment, `name` varchar(

MySQL中对查询结果排序和限定结果的返回数量的用法教程_Mysql

MySQL Order By 查询结果排序ORDER BY SQL 语法中 ORDER BY 关键字用于对查询结果进行排序. 排序分为升序(ASC)和降序(DESC)两种,当不使用 ORDER BY 指定排序方式时,默认为升序. 语法: SELECT column,- FROM tb_name ORDER BY column1,column2,- DESC(ASC) ORDER BY 后面必须列出排序的字段名,可以是多个字段. 对 user 表 uid 进行降序查询: SELECT uid,us

Mysql select in 按id排序实现方法_Mysql

表结构如下: mysql> select * from test; +----+-------+ | id | name | +----+-------+ | 1 | test1 | | 2 | test2 | | 3 | test3 | | 4 | test4 | | 5 | test5 | +----+-------+ 执行以下SQL: mysql> select * from test where id in(3,1,5); +----+-------+ | id | name | +-

MySQL查询优化:连接查询排序limit(join、order by、limit语句)

MySQL查询优化:连接查询排序limit(join.order by.limit语句) 不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高, 但是加上order by以后,语句的执行时间变的巨长,效率巨低. www.bitsCN.com 情况是这么一个情况:现在有两张表,team表和people表,每个people属于一个 team,people中有个字段team_id. 下面给出建表语句: [sql] create table t_team ( id int pr

两种mysql对自增id重新从1排序的方法

  本文介绍了两种mysql对自增id重新从1排序的方法,简少了对于某个项目初始化数据的工作量,感兴趣的朋友可以参考下 最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧: 方法一:如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数 truncate table 表名 方法二:dbcc checkident ('table_name', reseed, new_reseed_value) 当前值设置

MYSQL中group by做分组查询并排序

那么如何解决使分组后的数据按照主键的 desc 排序输出呢? 答案有两种方法: 1.使用子查询先把表进行排序,然后对字表进行 group by 查询,此时得到的列将是子查询的得到的一条记录的列. 2.使用 max 函数对可计算最大值的列进行对比查询,这种方法将只能使的对比列按照 desc 输出,不影响其他列. 以上两种方法的结果不同,使用的时候要按需来使用. 附例子: 表 tab1 有 3 列:主键id.名称name.登录时间time id name time 1 a01 1 2 www.111

什么是mysql左链接查询 如何使用?

MySQL左连接查询是连接查询中的一种方式,下面就为您介绍MySQL左连接查询中的一些问题谈论,如果您感兴趣的话,不妨一看. 我这里所说的主表是指在连接查询里MySQL以哪个表为主进行查询.比如说在MySQL左连接查询里,一般来说左表就是主表,但这只是经验之谈,很多时候经验主义是靠不住的,为了说明问题,先来个例子,建两个演示用的表categories和posts: CREATE TABLE IF NOT EXISTS `categories` (     `id` int(10) unsigne

mysql树形结构查询(存储过程)

就用数据数据库表地址数据(中国地区)来说吧(用Windows请使用gbk !!) 可直接运行(去除注解) 存储过程: DELIMITER //drop procedure if exists findLChild///* iid 递归父节点 , layer 允许递归深度 */CREATE PROCEDURE findLChild(iid bigint(20),layer bigint(20))BEGIN /*创建接受查询的临时表 */ create temporary table if not

MySQL关于字符串中数字排序的问题分析_Mysql

本文实例讲述了MySQL关于字符串中数字排序的问题.分享给大家供大家参考,具体如下: MySQL字符串相信大家都不陌生,在MySQL字符串排序时经常会遇到一些问题,比如下面要介绍的这个 今天解决了一个关于MySQL字符串排序的很奇怪的问题,在数据里面定义的是varchar类型,实际存放的是Int类型的数据,按一下查询语句进行排序: 将字段*1或者+0可以将MySQL字符串字段按数值排序 如: select * from table where 1 order by id*1 desc; 或者 s