SQL ORDER BY CASE多条件排序扩展:分组内按ID降序实现咨询
当然可行!
你想要的分组排序需求完全可以通过扩展现有的ORDER BY子句来实现,只需要在原有的case排序规则后追加组内的排序条件即可。
修改后的SQL语句如下:
$query_resultat .= "ORDER BY case when vendue = 'AV' then 1 when vendue = 'VPNA' then 2 when vendue = 'EC' then 3 when vendue = 'V' then 4 when vendue = 'SCDV' then 5 else 6 end, Id DESC";
逻辑说明:
- 第一排序条件是你原来的case表达式,它会先把
vendue为AV的记录排在最前面,接着是VPNA,然后是其他指定值,最后是未匹配的其他情况。 - 第二排序条件
Id DESC会让每个分组内部的记录按照Id从大到小排列,完美满足你要求的AV组和VPNA组内按Id降序的需求,同时其他分组也会自动应用这个组内排序规则(如果不需要的话可以单独调整,但通常保持一致更合理)。
内容的提问来源于stack exchange,提问作者Pablo DelaNoche
相关产品推荐
相关产品推荐

