我有一个这样的 SQL:
Select tbl.id, tbl.name
From
(select table1.id, table1.name
from table1
inner join table2 on table1.id = table2.id
order by table2.priority
) tbl
group by table1.id
order by table1.name
我想要实现的是首先排序(排序table2.priority
),然后获得table1.id, name
具有最高优先级的记录。注意,MAX(table2.priority)
这里不起作用,因为table1
totable2
是一对多,并且对于一个 table1 记录,table2 可以有 N 条最高优先级 = 1 的记录,而另一个 table1 最高优先级 = 3 记录。