本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序。
再来回顾一下SQL语句中的select语句的语法:
Select 语句的基本语法:
Select <列的集合> from <表名> where <条件> order by <排序字段和方式>
如果要对查询结果按某个字段排序,则要使用order by 子句,如下:
select * from <表名> order by <字段名称> <排序方式>
下面来看两个例子,第一个查询test表中所有数据,并按t_id正序排列;第二个查询与第一个相反,是逆序排列。
mysql> select t_id,t_name from test order by t_id;
+------+--------+
| t_id | t_name |
+------+--------+
| 1 | name1 |
| 2 | name2 |
+------+--------+
2 rows in set (0.00 sec)
mysql> select t_id,t_name from test order by t_id desc;
+------+--------+
| t_id | t_name |
+------+--------+
| 2 | name2 |
| 1 | name1 |
+------+--------+
2 rows in set (0.00 sec)
注意:正序排序时,可以使用asc作为排序方式的关键词,也可以不使用。逆序时,一定要使用desc作为关键词。
关于MySQL中select语句使用order按行排序,本文就介绍这么多,希望对大家有所帮助,谢谢!
问题内容: 我正在从具有整数id值的大型表(数百万行)中选择一组帐户记录。从某种意义上说,查询是最基本的。我正在做的是建立一个大型的逗号分隔列表,并将其作为“ in”子句传递到查询中。现在,结果是完全无序的。我想做的是按“ in”子句中的值顺序返回结果。 我想我将不得不建立一个临时表并进行联接,这是我想避免的,但可能无法做到。 有什么想法吗?现在,由于我们正试图限制输出大小,每个查询的大小上限为6
我有这样一个选择声明: 我的select语句按以下顺序显示列:col1、col2、col3、col4、col5、col6、col7。 我想以任何其他顺序显示列,例如:col7, col6, col1, col2, col3, col4, col5。 我怎样才能做到这一点而不改变我的语句和连接顺序?我需要一些东西,比如在一个
问题内容: 我正在尝试在MySQL选择查询中使用一条语句。 我在第一个语句之后出现错误。 为什么这不起作用?在MySQL查询中执行IF语句的正确方法是什么? 问题答案: 您使用的IF / THEN / ELSE构造仅在存储过程和函数中有效。您的查询将需要重组,因为您不能使用IF()函数来控制WHERE子句的流程。 可以在查询中使用的IF()函数主要用于在查询的SELECT部分中根据某些条件选择
问题内容: 在MySQL中,我知道可以使用以下命令列出数据库中的表: 但是,我想将这些表名插入另一个表,例如: 有没有一种方法可以使用标准的SELECT语句获取表名,例如: 问题答案: 要获取所有表的名称,请使用: 要从特定数据库获取表的名称,请使用: 现在,要回答原始问题,请使用以下查询: 有关更多详细信息,请参见:http : //dev.mysql.com/doc/refman/5.0/en
问题内容: 以下工作-拒付金额等于1时返回Y,否则默认为N 但是我似乎无法使这一工作正常?语法有效吗 问题答案: 大概这可以工作:
问题内容: 我正在阅读一些工作中的旧代码,并注意到有多个带有子句的视图。这有什么作用? 例子: 问题答案: 这: …被称为“序数”-数字代表基于SELECT子句中定义的列数的列。在您提供的查询中,它表示: 不建议这样做,因为: 这不是很明显/明确 如果列顺序发生变化,则查询仍然有效,因此您可能会冒意外的顺序进行排序