按列和标准进行多排序
Multi order by column, and criteria
我在按列排序时遇到问题。首先,我需要像它在这里选择的那样拥有它。但在 Olie 中,我需要将它放在 "x.x" in way 之后,并且 where way 之前没有设置任何东西,但它需要在 Hidden 列中的文本之后排序。
我目前的订单在 SQL
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way]
//错误的方式(现在是什么)
Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand
正确的方法(我需要的)
Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand
任何人有任何线索或我需要存档的方法吗?
编辑
尝试时
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, Hidden Colum
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_02_prioritet_01 1 1.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_04_prioritet_01 0 Olie
Tilsætning_05_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_10_prioritet_01 0 Olie
Tilsætning_11_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_13_prioritet_01 0 0.0
Tilsætning_14_prioritet_01 0 0.0
Tilsætning_15_prioritet_01 0 0.1
Tilsætning_16_prioritet_01 0 0.1
Tilsætning_17_prioritet_01 0 0.2
Tilsætning_18_prioritet_01 0 0.2
Tilsætning_19_prioritet_01 0 0.2
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
将 HiddenColumn 作为最后一项包含在 ORDER BY
子句中:
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way], HiddenColumn
首先您需要 Way
中的数字,然后是 'Olie'
,然后是其他所有内容。
order by (case when Way not like '%[^0-9.]%' then 1
when Way = 'Olie' then 2
else 3
end),
pt,
HiddenColumn
我在按列排序时遇到问题。首先,我需要像它在这里选择的那样拥有它。但在 Olie 中,我需要将它放在 "x.x" in way 之后,并且 where way 之前没有设置任何东西,但它需要在 Hidden 列中的文本之后排序。
我目前的订单在 SQL
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way]
//错误的方式(现在是什么)
Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand
正确的方法(我需要的)
Hidden Colum Pt Way
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
Tilsætning_23_prioritet_01 2 2.0
Tilsætning_24_prioritet_01 2 2.0
Tilsætning_25_prioritet_01 2 2.0
Tilsætning_27_prioritet_01 2 2.0
Tilsætning_26_prioritet_01 3 3.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Genbrug_prioritet_01
Vand
任何人有任何线索或我需要存档的方法吗?
编辑 尝试时
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, Hidden Colum
Tilsætning_01_prioritet_01 1 1.0
Tilsætning_02_prioritet_01 1 1.0
Tilsætning_03_prioritet_01 0 Olie
Tilsætning_04_prioritet_01 0 Olie
Tilsætning_05_prioritet_01 0 Olie
Tilsætning_06_prioritet_01 0 Olie
Tilsætning_07_prioritet_01 0 Olie
Tilsætning_08_prioritet_01 0 Olie
Tilsætning_09_prioritet_01 0 Olie
Tilsætning_10_prioritet_01 0 Olie
Tilsætning_11_prioritet_01 1 1.0
Tilsætning_12_prioritet_01 1 1.0
Tilsætning_13_prioritet_01 0 0.0
Tilsætning_14_prioritet_01 0 0.0
Tilsætning_15_prioritet_01 0 0.1
Tilsætning_16_prioritet_01 0 0.1
Tilsætning_17_prioritet_01 0 0.2
Tilsætning_18_prioritet_01 0 0.2
Tilsætning_19_prioritet_01 0 0.2
Tilsætning_20_prioritet_01 0 0.3
Tilsætning_21_prioritet_01 2 2.0
Tilsætning_22_prioritet_01 2 2.0
将 HiddenColumn 作为最后一项包含在 ORDER BY
子句中:
ORDER BY CASE WHEN [Way] = '' THEN 2 ELSE 1 END, [Way], HiddenColumn
首先您需要 Way
中的数字,然后是 'Olie'
,然后是其他所有内容。
order by (case when Way not like '%[^0-9.]%' then 1
when Way = 'Olie' then 2
else 3
end),
pt,
HiddenColumn