SQL查询优先处理php数组

时间:2016-05-31 20:00:27

标签: php mysql arrays

mySQL数据库的column_x包含可能存在于php数组中的值。

我想查询数据库并优先处理PHP数组中column_x值存在的任何行。

我最初的想法是选择一个column_y,如果在php数组中存在column_x则为1,否则为0,然后是ORDER BY column_y DESC。这可能吗?如果是这样,我该怎么做呢?或者,有更好的方法来解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用ORDER BY column_x IN (list of values) DESC。条件为真时,值为1,否则为0

$array = array(1, 3, 4, 6);
$str = implode(', ', $array);

$sql = "SELECT * FROM yourTable
        ORDER BY column_x IN ($str) DESC";

如果值来自用户输入,请确保在插入SQL之前清理它们。