我的客户有一个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?
答案 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