我有一组列,我想按一组 2 行对其进行排序。例如如下:
col1 col2
1 4
2 5
3 6
4 1
5 2
6 3
期望的输出:
col1 col2
1 4
4 1
2 5
5 2
3 6
6 3
任何帮助,将不胜感激。
您必须先按最小的列排序,然后按最大的列排序:
ORDER BY CASE WHEN col1 < col2 THEN col1 ELSE col2 END,
CASE WHEN col1 < col2 THEN col2 ELSE col1 END
大多数数据库都支持 MySql 之类的功能LEAST()
,GREATEST()
并简化了代码:
ORDER BY LEAST(col1, col2),
GREATEST(col1, col2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句