SQL:基于两列交错值的排序依据
我有一个表,它将根据两列数字(称为X列和Y列)进行排序。在每一行中,两列可以都有数值(在这种情况下,X不能。顺序没有很好地定义) 简单集SQL:基于两列交错值的排序依据,sql,sorting,sql-order-by,Sql,Sorting,Sql Order By,我有一个表,它将根据两列数字(称为X列和Y列)进行排序。在每一行中,两列可以都有数值(在这种情况下,X不能。顺序没有很好地定义) 简单集 5 10 7 null null 8 可以分类 null 8 5 10 7 null 及 取决于您开始排序的位置 如果可能,我会将排序条件更改为“X(如果可用),否则将更改为Y”。然后您可以使用“mu太短”建议的COALSECE运算符(按合并排序(X,Y))您将把…25 NULL放在哪里?它将在23/29和31/NULL之间。如果两
5 10
7 null
null 8
可以分类
null 8
5 10
7 null
及
取决于您开始排序的位置
如果可能,我会将排序条件更改为“
X
(如果可用),否则将更改为Y
”。然后您可以使用“mu太短”建议的COALSECE运算符(按合并排序(X,Y)
)您将把…25 NULL
放在哪里?它将在23/29和31/NULL之间。如果两行中都填充了值,则始终优先考虑按X列排序。澄清一下:目标是最后根据该列中的其他值对两列中的每一列中的值进行排序。出于明显的原因,这始终是p在X列上是可能的,通常可以“接近”对于Y列——考虑25/27;它必须在23/29之后,即使这会导致Y列中的小错误排序。是的,最终顺序取决于哪些行与哪些其他行进行比较,因此它不是集合的整体属性,它是“排序”的产物过程。很好的反例。我担心可能是这样。你能提供一些合理的方法使排序操作可传递的建议吗?例如,正如你所演示的,可以为一个特定的数据集选择多个“正确”的排序;对于我来说,这两种方法都同样有效(虽然第一个更符合我正在尝试做的事情的精神)。有没有办法修改我列出的“排序规则”,使其在不考虑输入顺序的情况下给出相同的输出?
5 10
7 null
null 8
null 8
5 10
7 null
5 10
7 null
null 8