1

我为我们的客户准备了一个 mysql 表。它按字母顺序与姓氏一起使用,但不适用于名字,因为它们位于不同的列中。

这是我的代码:

SELECT id, firstname, lastname, address From customers Order by lastname

这是现在的结果:

lastname | firstname | address <br>
Ford     | Jhon      | Dallas
Bush     | Emil      | Orlando (This should be after the next one [Brian])
Bush     | Brian     | Los Angeles

我怎么能将姓氏+名字排列在一起?

4

5 回答 5

4

手册所述:

您可以对多列进行排序,并且可以对不同的列进行不同方向的排序。例如,要按动物类型升序排序,然后按动物类型中的出生日期降序排序(最小的动物优先),请使用以下查询:

mysql> SELECT name, species,birth FROM pet 
    -> ORDER BY species,birth DESC;
+---------+---------+------------+
| 姓名 | 物种| 出生|
+---------+---------+------------+
| 叽叽喳喳 | 鸟| 高分辨率照片| CLIPARTO 1998-09-11 |
| 惠斯勒 | 鸟| 高分辨率照片| CLIPARTO 1997-12-09 |
| 爪 | 猫 | 1994-03-17 |
| 蓬松 | 猫 | 1993-02-04 |
| 方 | 狗 | 1990-08-27 |
| 鲍泽 | 狗 | 1989-08-31 |
| 巴菲 | 狗 | 1989-05-13 |
| 马勃 | 仓鼠| 1999-03-30 |
| 苗条 | 蛇 | 1996-04-29 |
+---------+---------+------------+

DESC关键字仅适用于紧接在其前面的列名 ( ) birth;它不影响species列排序顺序。

因此,在您的情况下:

SELECT id, firstname, lastname, address FROM customers ORDER BY lastname, firstname
于 2012-06-07T19:10:21.257 回答
2

您可以在 ORDER BY 中有多个条目:

Order by lastname, firstname
于 2012-06-07T19:10:21.390 回答
1

通过以下方式在您的订单中包含名字:

SELECT id, firstname, lastname, address From customers Order by lastname, firstname
于 2012-06-07T19:10:34.003 回答
1

查询应该是: SELECT id, firstname, lastname, address FROM客户ORDER BY lastname, firstname

于 2012-06-07T19:12:23.627 回答
1

试试这个查询

SELECT `id`, `firstname`, `lastname`, `address` FROM `customers` 
ORDER BY `firstname` ASC ,`lastname` ASC
于 2012-06-07T19:24:19.320 回答