我知道我可以执行此操作"SELECT * FROM members WHERE isHere = 0 ORDER BY surname"
从我的数据库中获取不在此处的成员并对其进行排序。但是,如果他们的姓氏相同,我想按姓名对他们进行排序。关于如何做到这一点的任何提示?
答案 0 :(得分:1)
只需使用多个ORDER BY
子句即可使用多个排序选项:
SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC,
name ASC
这将首先按姓氏排序,如果两个或多个用户具有相同的姓氏,则可以按名称对其进行排序。如果你愿意,你可以添加三分之一的排序来按年龄排序。
SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC,
name ASC,
age DESC
答案 1 :(得分:0)
您可以按多个列排序。像这样,
SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC, name ASC;
您可以对多列进行排序,也可以对不同的列进行排序 在不同的方向,这意味着您可以按ASC对结果集进行排序,其中DESC为名称。
在您的情况下,这不是必需的,只是为了信息。
默认排序将采用不区分大小写的方式。如果您想要对列进行区分大小写的排序,请为列添加 BINARY 关键字。
像这样,
SELECT *
FROM members
WHERE isHere = 0
ORDER BY BINARY surname ASC, name ASC;
答案 2 :(得分:0)
如果你想先名字,然后像这样使用姓氏
@pytest.fixture
如果你想先姓,那么就像这样使用
SELECT * FROM members WHERE isHere = 0 ORDER BY name asc,surname asc;
根据
排序更改SELECT * FROM members WHERE isHere = 0 ORDER BY surname asc,name asc;
和asc