Mysql 从id=?的表中选择*?按优先顺序排列
我有一个包含以下字段的数据库:Mysql 从id=?的表中选择*?按优先顺序排列,mysql,database,sql-order-by,where,Mysql,Database,Sql Order By,Where,我有一个包含以下字段的数据库: id(int) 名称(文本) 优先权(整数) 我想显示id=(例如)13的数据库中的值,并按优先级对它们进行排序。 例如:id为13且优先级为1的字段将优先于优先级为2的其他字段 我怎么做?您的查询: SELECT `id`,`name`,`priority` FROM table_name WHERE `id`=13 ORDER BY `priority` ASC; 可通过字段功能管理订购: SELECT `id`,`name`,`priority` FR
- id(int)
- 名称(文本)
- 优先权(整数)
SELECT `id`,`name`,`priority` FROM table_name WHERE `id`=13 ORDER BY `priority` ASC;
可通过字段功能管理订购:
SELECT `id`,`name`,`priority` FROM table_name
order by FIELD(priority,"13","2")
注意实际问题:您必须手动维护此订单列表(或创建一些结构来维护此列表)。
从表中选择*,其中id>=13按优先级排序ASC
严重吗?不能研究这么多吗?嗯。。id>=13
OP需要的不是where
:使用字段(优先级,13,2)
排序是个坏主意,OP只需要一个按优先级排序的ASC
查询将返回所有值,而不仅仅是id=13。您无需明确说明优先级ASC
原因ASC
是默认顺序。是True。这是为了让提问者理解。你不需要明确地说,priority ASC
因为ASC
是默认顺序。当然,但不影响代码,OP可以删除它,如果这是完美的,我在@chandran之前回答,他回答了我同样的问题。。这是最好的答案,对我来说是否定的。。有人能解释我吗?不知道,谁投了反对票,因为我通常不投-1,如果有什么不对劲,我宁愿提供评论。同样,你的回答是有效的,我这边的+1也是有效的。
SELECT `id`,`name`,`priority` FROM table_name
order by FIELD(priority,"13","2")