代码之家  ›  专栏  ›  技术社区  ›  Chris Bier

在MySQL中首先显示包含某个值的记录

  •  3
  • Chris Bier  · 技术社区  · 15 年前

    我需要首先列出我数据库中“特色”的记录。如果列表为“特色”,则“特色”列中的值为“是”。

    我不确定什么样的MySQL查询会给我这个结果,或者它是否存在。但另一个想法是,我有一个查询,它获取所有的特色列表,并列出它们,然后另一个查询获取所有没有特色的列表。

    你有什么想法吗?事先谢谢!

    2 回复  |  直到 15 年前
        1
  •  4
  •   David Andres    15 年前

    将order by与case语句一起使用,如

    SELECT * 
    FROM TheTable
    ORDER BY CASE LOWER(Featured)
               WHEN 'yes' THEN 0 
               ELSE 1 
             END 
             ASC,
             SomeOtherColumnNameForAMinorKeySort ASC
    

    编辑 :已将recordname重命名为someothercolumnnameforminorkeysort,以便更好地表达列的用途。

        2
  •  0
  •   strager    15 年前
    SELECT fields FROM table ORDER BY featured DESC;