[英]Order grouped table by id user sql
我想使用特定用户选择的数字作为参考来订购分组语句。
SELECT *
FROM likes
WHERE /**/
GROUP BY type
桌子
id_user type
1420 1
1421 3
1422 3
1424 7
1425 4
1426 2
1427 1
预期结果(最终用户 1425 选择了什么)
1
2
3
7
4 //choosen by id_user 1425
我想将最后一行与用户选择的数字放在一起。 我就是想不通
您可以聚合并使用条件max
进行排序,如下所示:
select type
from likes
group by likes
order by max(case when id_user = 1425 then 1 else 0 end), type
如果给定type
的任何行的id_user
与所选值匹配,则条件max
返回1
,将其放在结果集中的最后。 第二个排序标准打破了不满足条件的组的关系。
如果您正在运行 MySQL,您可以稍微简化order by
子句:
order by max(id_user = 1425), type
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.