php - MySQL查询。如何先拉出特定条目,然后显示其余部分?

标签 php mysql

我正在提取一整张表的数据。里面有什么并不重要。

SELECT entry_id, title 
FROM tablename 
WHERE this = 'that' 
    AND something = 'foobar' 
ORDER BY title ASC

如您所见,我按 asc 中的标题排序,这正是我所需要的。然而,我想要显示的第一个条目不是以 A 或 0 开头,事实上我不知道条目标题是什么,我动态地计算出来。

所以我的问题是,我怎样才能先取出 1 个条目,然后再显示其余结果,而不必运行 2 个 mysql 查询。

谢谢!

最佳答案

您可以使用case 将 1 个项目放在第一位

SELECT entry_id, title 
FROM tablename 
WHERE this = 'that' AND something = 'foobar' 
ORDER BY case when title = 'some_title' 
              then 1
              else 2 
         end, title ASC

关于php - MySQL查询。如何先拉出特定条目,然后显示其余部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121797/

相关文章:

php - 在优惠券设置中添加一个字段并在 Woocommerce 管理订单列表中显示该值

mysql - 使用 PostgreSQL 模式文件将 mySQL 数据移动到 postgres

php - 论坛刷新后不重新显示

php - Doctrine 2 - 加入的实体仍然是代理并在请求后生成两个查询

php - MySQL安装问题

php - 如何将变量转换为数组

php - 创建一个包含元素名称和值的 json 数组,并使用 ajax 将其提供给 php

php - 为什么我的 mysql 查询总是返回空结果?

MySQL多表关系查询

php - 遍历记录,更新一条记录,然后退出