MySQL使用GROUP BY和ORDER BY

Num*_*our 2 mysql sql group-by sql-order-by

我有一张人的表,每个人都有访问次数优先级:

ID | NAME          |  VISITS | PRIORITY
---------------------------------------
 1 |     John      |    1    |   0
 2 |     Joe       |    2    |   1
 3 |     Peter     |    1    |   1
 4 |     Sara      |    0    |   2  
 5 |     Phillip   |    5    |   0
 6 |     Bob       |    3    |   1
 7 |     Andrew    |    4    |   2
Run Code Online (Sandbox Code Playgroud)

只有某些允许的优先级:(0,1,2)

如何创建一个查询,根据访问次数(从最低位置开始)但在相应的优先级组内按人数排序?

所以结果应该是这样的:

ID | NAME          |  VISITS | PRIORITY
---------------------------------------
 1 |     John      |    1    |   0
 2 |     Philip    |    5    |   0
 3 |     Peter     |    1    |   1
 4 |     Joe       |    2    |   1  
 5 |     Bob       |    3    |   1
 6 |     Sara      |    0    |   2
 7 |     Andrew    |    4    |   2
Run Code Online (Sandbox Code Playgroud)

我想必须使用GROUP BY子句,但我不知道如何使用它.

Tar*_*ryn 8

你刚刚尝试过ORDER BY:

select id, name, visits, priority
from people
order by priority, visits
Run Code Online (Sandbox Code Playgroud)

请参阅SQL Fiddle with Demo