mysql按第一个字段排序,然后按第二个字段排序



我有一个类似的查询

select YEARWEEK(v.dataorainizio,1) yw,pdv.nome ,pdv.localita
from visita v
join pdv on pdv.id=v.idpdv
order by yw DESC

结果是

"yw"    |                               "nome"|"localita"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202010"|"( PDV CHIUSO ) Media World Genova Ex Saturn"|"Genova"
"202010"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202009"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202009"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"Media World Asti"|"Asti"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"Media World Bergamo 2 - Orio"|"Orio Al Serio"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"Media World Asti"|"Asti"
"202006"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202006"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"

我想订购yw DESC,但订单中有"nome"的子集,就像这个一样

"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202011"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"       
"202010"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202009"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202009"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"      
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202008"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202007"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"      
"202006"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202006"|"( PDV CHIUSO ) Media World Brescia 2"|"Brescia"
"202010"|"( PDV CHIUSO ) Media World Genova Ex Saturn"|"Genova"
"202008"|"Media World Asti"|"Asti"
"202007"|"Media World Asti"|"Asti"
"202007"|"Media World Bergamo 2 - Orio"|"Orio Al Serio"

DB版本MariaDB 10.4

在php中没有存储过程和后处理结果是可能的?

这就是您想要的吗?

order by nome desc, yw desc

如果你想先把nome和最近的yw放在一起,那么,假设MySQL 8.0,你可以使用窗口函数:

order by
max(yearweek(v.dataorainizio,1)) over(partition by pdv.nome) desc,
yearweek(v.dataorainizio,1) desc

最新更新