Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从id=?的表中选择*?按优先顺序排列_Mysql_Database_Sql Order By_Where - Fatal编程技术网

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)
  • 名称(文本)
  • 优先权(整数)
我想显示id=(例如)13的数据库中的值,并按优先级对它们进行排序。 例如:id为13且优先级为1的字段将优先于优先级为2的其他字段

我怎么做?

您的查询:

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")