Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:基于两列交错值的排序依据_Sql_Sorting_Sql Order By - Fatal编程技术网

SQL:基于两列交错值的排序依据

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之间。如果两

我有一个表,它将根据两列数字(称为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之间。如果两行中都填充了值,则始终优先考虑按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