按2列对表格进行排序

时间:2018-08-31 13:35:43

标签: sql postgresql postgresql-9.6

如何在SQL中按姓氏然后按名对表进行排序。我有很多重复的姓氏。我的桌子看起来像

table(
    last_name varchar(20),
    first_name varchar(20)
)

我已经写过这样的东西,但是它不能正常工作

SELECT * FROM table GROUP BY last_name ORDER BY first_name;

具体排序没关系,我可以根据发生的情况将其设置为ASCDESC

1 个答案:

答案 0 :(得分:3)

这实际上很简单:

SELECT * FROM table ORDER BY last_name, first_name;

只需列出多个订购条件。从左到右评估它们。在上述情况下,将按last_name然后按first_name进行排序。

我不确定您为什么要使用GROUP BY子句,如果您想知道有多少人共享相同的 last_name ,则可以使用GROUP BY子句像这样:

SELECT last_name, COUNT(*) FROM table GROUP BY last_name ORDER BY last_name;