按字母顺序排列使用姓氏但不使用名字

时间:2012-06-07 19:08:40

标签: php mysql sql

我的客户有一个mysql表。它按字母顺序使用姓氏,但不能使用firstnames,因为它们位于不同的列中。

这是我的代码:

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

我怎么能一起拥有Lastnames + firstnames?

5 个答案:

答案 0 :(得分:4)

the manual中所述:

  

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

mysql> SELECT name, species, birth FROM pet
    -> ORDER BY species, birth DESC;
+----------+---------+------------+
| name     | species | birth      |
+----------+---------+------------+
| Chirpy   | bird    | 1998-09-11 |
| Whistler | bird    | 1997-12-09 |
| Claws    | cat     | 1994-03-17 |
| Fluffy   | cat     | 1993-02-04 |
| Fang     | dog     | 1990-08-27 |
| Bowser   | dog     | 1989-08-31 |
| Buffy    | dog     | 1989-05-13 |
| Puffball | hamster | 1999-03-30 |
| Slim     | snake   | 1996-04-29 |
+----------+---------+------------+
     

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

因此,在您的情况下:

SELECT id, firstname, lastname, address FROM customers ORDER BY lastname, firstname

答案 1 :(得分:2)

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

Order by lastname, firstname

答案 2 :(得分:1)

在您的订单中加入第一个名称:

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

答案 3 :(得分:1)

查询应该是: SELECT id, firstname, lastname, address FROM {客户{1}}

答案 4 :(得分:1)

尝试此查询

SELECT `id`, `firstname`, `lastname`, `address` FROM `customers` 
ORDER BY `firstname` ASC ,`lastname` ASC