为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 在顶部选择特色项目

MySQL 在顶部选择特色项目

PHP
阿晨1998 2023-05-26 16:18:53
假设我有一个表,其中的字段item_featured值为 Yes 或 No。现在我想对所有行进行排序,其中 YES 位于顶部,然后是非特色项。所有将按 id 的 DESC 顺序排列。是否可以使用 1 个查询?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

考虑一个条件排序:

order by (item_featured = 'Yes') desc, id desc

基本原理:如果条件满足则表达式item_featured = 'Yes'产生,否则- 所以降序排序将行放在第一位。然后,第二个排序条件按降序对组内的行进行排序。10'Yes'id

如果'Yes''No'是唯一可能的值,则可以简化为:

order by item_featured desc, id desc

这是可行的,因为在字符串方面,'Yes'大于'No'.


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信