Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 搜索结果是否按特定顺序显示?_Sql_Mysql - Fatal编程技术网

Sql 搜索结果是否按特定顺序显示?

Sql 搜索结果是否按特定顺序显示?,sql,mysql,Sql,Mysql,结果 SELECT id FROM films WHERE id IN (90,4,40) 但我要它退回90,4,40 我必须做什么?(mysql) 对不起,还有一个问题: 从胶片中选择id,其中按字段(id,90,4,40)排序的id是可以的 但老实说 4 40 90 用于($i=1;$i) 或 或 我想知道它会导致速度变慢?如果表中包含很多字段很多字段?如果结果中有很多行,而不是字段号,则此子句会导致性能下降如果结果中有很多行,则它们将在内存中排序,因此这可能是个问题,具体取决于您有多

结果

SELECT id FROM films WHERE id IN (90,4,40)
但我要它退回90,4,40 我必须做什么?(mysql)


对不起,还有一个问题:

从胶片中选择id,其中按字段(
id
,90,4,40)排序的id是可以的 但老实说

4
40
90
用于($i=1;$i)
或


我想知道它会导致速度变慢?如果表中包含很多字段很多字段?如果结果中有很多行,而不是字段号,则此子句会导致性能下降如果结果中有很多行,则它们将在内存中排序,因此这可能是个问题,具体取决于您有多少行。@zerkms:所以不是,因为他只从表中选择了3行需要排序。至少我希望他的
id
字段是唯一的。@animuson:那么?上面的任何表达式都将在结果集上求值-这无法优化。我没有说这是一个缓慢的过程,但我强调过,这可能是一个问题,因为仅仅。
 for ( $i = 1; $i <10; $id ++ ){
     $IDarray[] = random();
 }


SELECT id FROM films WHERE id IN "(". implode(',',$IDarray). " ) ";
ORDER BY CASE `id` WHEN 90 THEN 0
                   WHEN 4 THEN 1
                   WHEN 40 THEN 2
                   ELSE 3
         END CASE
ORDER BY FIND_IN_SET(`id`, '90,4,40')
ORDER BY FIELD(`id`, 90, 4, 40)