mysql in根据查询id排序

2019-03-03 15:02|来源: 领悟书生

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

例子:

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进行排序了


本文链接:mysql in根据查询id排序,转载请注明出处

相关问答

更多
  • 兄弟连里面肯定有,自己去看看目录然后挑合适自己看的就好了
  • 首先要明确你的目的是什么? 我猜是不是你想select出所有表名为test的数据,这样的话方案如下: 如果非要按照你说的视图的话、我不知道mysql能不能动态创建执行创建语句、如果可以的话、你可以执行在存储过程里面动态执行这样的语句、CREATE OR REPLACE testView as 这里写你的select语句用union all连接,至于怎么取到这些类似的表然后怎么拼接成sql你知道怎么操作吧? 第二种方法比较通用、肯定行、存储过程你们做一件事情、select出所有test的表、然后把记录插入到一 ...
  • 之前一个表本来有数据的 后面删除了记录 但是添加ID后排序不是重1开始的 如果是自增字段,删除数据,是根据原来的继续往后排的 1、可以删除这个字段,重新建立个自增字段就可以了 2、也可以重新设置排序起始 alter table table_name AUTO_INCREMENT=n 例如: alter table papa_group AUTO_INCREMENT=1
  • 不知道我说的是不是你想要的,使用JDBC+SERVLET搭建框架,将数据库的信息查询到之后,用json封装,手机通过HTTP请求servlet的地址,可以得到一个JSONARRAY,是一个List>对象,解析应该能得到
  • mysql百万数据查询用exists 代替 in 是一个好的选择: select num from a where num in(select num from b) 用下面的语句替换: select num from a where exists(select 1 from b where num=a.num) SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o ...
  • 测试成功 select count(*),max(histsum),(select top 1 id from 表 where histsum in (select max(histsum) from 表)) from 表
  • 您基本上在同一个表上执行INNER JOIN,如下所示: SELECT * FROM Table t1 INNER JOIN Table t2 ON t1.id = t2.id WHERE t1.Type6 = 3 AND t2.Type6 = 4 AND t1.ProductPrice < t2.ProductPrice The answer is this: You mustn't join the tables by the Id because is a key field, and is u ...
  • 你可以使用简单的JOIN ,例如: SELECT t2.* FROM table1 t1 JOIN table2 t2 ON t1.class_key = t2.class_key; 这里是关于JOIN 的 MySQL文档。 You can use simple JOIN, e.g.: SELECT t2.* FROM table1 t1 JOIN table2 t2 ON t1.class_key = t2.class_key; Here's MySQL's documentation on JOIN ...
  • 你的第一个问题的答案很简单。 除非您使用order by否则SQL结果集是无序order by 。 (或者,在MySQL中依赖于group by所做的弃用排序。)SQL引擎可以处理它喜欢的数据。 然而产生它喜欢的结果。 结果顺序是任意的。 您的第一个查询不能更“高效”地编写,但强烈建议使用正确的join语法: select a.id from (select 1 as id union select 2 as id union select 3 as id ) a join (se ...