这是一个示例表:
name | cat
----------
hugo | sal
bob | mgr
mike | dev
jeff | mgr
john | dev
这两个name
和cat
是VARCHAR。
cat
反映了这些名称的类别,但我想为其分配优先级,然后执行查询以列出所有名称,并以此优先级排序。
有什么可能的方法?我可以提取cat
到第二个表,建立外键等,但考虑到我的应用程序是非常简单的结构可能是不可更改的:准备做什么,我必须列出的mgr
名字,其次是dev
名称,其次是sal
名称?
case
表达式(被称为)在可以指定列的任何地方都有效;和b)表达式可以稍微简化为case `cat` when 'mgr' then 1 when 'dev' then 2 else 3 end