SELECT 字段名 FROM 表名 WHERE 条件 [GROUP BY 字段名 HAVING 条件 ORDER BY 字段名 LIMIT 条数]; 1. 1、排序 单列排序 asc升序(默认,可不写),desc降序 语法格式: SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC] 1. 组合排序 同时对多个字段进行排序, 如果第一个字段...
select * from table where id IN (3,6,9,1,2,5,8,7); 这种语句查询出来的顺序还是按照123456789的顺序来的。 1. 可以修改为: 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); 1. --- MySQL中NOT IN语句对NULL值的处理 mysql> SELECT ...
select * from a order by substring_index('3,1,2',id,1); 试下这个good,ls正解。 order by find_in_set(id,'3,1,5') 谢谢,经测试order by substring_index和order by find_in_set都可以
1、substring_index(不准确): SELECT * FROM `tvmars_channel` WHERE `name` IN ('张艺谋','1080P','香港电影','好莱坞','喜剧电影','动作电影') order by substring_index('张艺谋,1080P,香港电影,好莱坞,喜剧电影,动作电影',name,1); 2、find_in_set: SELECT * FROM `tvmars_channel` WHERE `nam...
下面来总计下之前的随笔中所说过的所有的SELECT子句的顺序。 子句 说明 是否必须使用 SELECT...
这个select在mysql中得结果会自动按照id升序排列, 但是我想执行"select * from test where id in(3,1,5);"的结果按照in中得条件排序,即:3,1,5,想得到的结果如下: id name 3 test3 1 test1 5 test5 mysql> select * from Tbl_FQQ_FScoreCount where id in(3,1,5) order by find_in_set(id,...
或许有人会注意过,但我以前真不知道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里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实mysql就有这个方法sql: select * from ...
1 select*fromtablewhereidIN(3,6,9,1,2,5,8,7) 但是查询出来结果不一定会按照id的顺序进行排序,如果需要根据id的顺序对结果进行排序的话,则可以用 1 select*fromtablewhereidIN(3,6,9,1,2,5,8,7)orderbyfield(id,3,6,9,1,2,5,8,7)...
SELECT时用IN做条件时,是默认排序(主键ID排序),如果要保证查询出的顺序与IN条件顺序一致需要用如下方法: 1、field(字段,str1, str2) SELECT*FROMTABLEWHEREname IN('张三','李四','王五')ORDERBYFIELD(name,'张三','李四','王五'); 2、find_in_set (字段, strlist) ...