mysql选择顶部的特色项目

e5nqia27  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(354)

假设我有一张带字段的table item_featured 值为yes或no。现在我想对所有行进行排序,在最前面是featured yes,后面是non featured item。所有都将按id的描述顺序。是否可以使用1个查询?

ubbxdtey

ubbxdtey1#

考虑条件排序:

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

理由:表达 item_featured = 'Yes' 产量 1 如果条件已满,则为 0 -所以降序排序 'Yes' 排在第一位。然后,第二个排序条件按降序排列组中的行 id .
请注意,正如chrisg所评论的,如果 'Yes' 以及 'No' 是唯一可能的值,可以简化为:

order by item_featured desc, id desc

这是因为,从字符串的Angular 来看, 'Yes' 大于 'No' .

相关问题