📜  MySQLi-排序结果(1)

📅  最后修改于: 2023-12-03 15:17:48.931000             🧑  作者: Mango

MySQLi-排序结果

在 MySQLi 中,可以使用 ORDER BY 子句来对结果集进行排序。 ORDER BY 子句可以使用一个或多个列名作为排序条件,并可以指定每个列名的排序顺序。

语法
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • column1, column2, ...: 要排序的列名。
  • table_name: 要查询的表名。
  • ASC: 升序排序(默认)。
  • DESC: 降序排序。
实例

假设有以下 employees 表:

| id | name | salary | | --- | ------ | ------ | | 1 | Alice | 2000 | | 2 | Bob | 3000 | | 3 | Charlie| 1500 | | 4 | David | 2500 | | 5 | Eve | 4000 |

按照单个列排序

按照 salary 列进行升序排序:

SELECT *
FROM employees
ORDER BY salary;

排序结果为:

| id | name | salary | | --- | ------ | ------ | | 3 | Charlie| 1500 | | 1 | Alice | 2000 | | 4 | David | 2500 | | 2 | Bob | 3000 | | 5 | Eve | 4000 |

按照 salary 列进行降序排序:

SELECT *
FROM employees
ORDER BY salary DESC;

排序结果为:

| id | name | salary | | --- | ------ | ------ | | 5 | Eve | 4000 | | 2 | Bob | 3000 | | 4 | David | 2500 | | 1 | Alice | 2000 | | 3 | Charlie| 1500 |

按照多个列排序

按照 salary 列进行降序排序,如果 salary 相同,则按照 name 列进行升序排序:

SELECT *
FROM employees
ORDER BY salary DESC, name;

排序结果为:

| id | name | salary | | --- | ------ | ------ | | 5 | Eve | 4000 | | 2 | Bob | 3000 | | 4 | David | 2500 | | 1 | Alice | 2000 | | 3 | Charlie| 1500 |

结论

MySQLi 中使用 ORDER BY 子句可以方便地对结果集进行排序。可以通过指定列名和排序方式来灵活排序。在实际开发中,通常需要按照多个列进行排序以满足具体需求。