我在MySQL数据库中有很多项目,它们必须显示在网页上。但是,之前设置的元素必须是整个数据数组的第一个。目前,从Mysql接收的数据按创建时间排序。此外,每个项目都有一个唯一的ID,存储在设置表中。可能是你帮我解决了这个小麻烦。
更新:
这个php-array基本上演示了我的数据库结构
array(
0=>array(
"id"=>1,
"name"=>"xyz"
),
1=>array(
id"=>3,
"name"=>"abc"
),
2=>array(
id"=>5,
"name"=>"asdfbc"
)
);
更新2
我需要对前一个数组进行排序。例如,在元素必须按时间创建(desc或asc)排序后,第一个元素必须是id = 3的项目。时间字段(时间戳)存在,但我太懒了添加它: - )
答案 0 :(得分:1)
试试这个:
SELECT *, IF(`id`=3,0,1) AS `sticky` FROM `test` ORDER BY `sticky` ASC, `timestamp` DESC