sql – 保持从’IN’子句的顺序
发布时间:2020-12-12 08:46:58 所属栏目:MsSql教程 来源:网络整理
导读:有条件的条件可以保留订单吗? 我在SO上找到了this question,但在他的例子中,OP已经有一个排序的“IN”子句. 我的情况是不同的,’IN’子句是随机的 这样的东西 SELECT SomeField,OtherFieldFROM TestResult WHERE TestResult.SomeField IN (45,2,445,12,789)
有条件的条件可以保留订单吗?
我在SO上找到了this question,但在他的例子中,OP已经有一个排序的“IN”子句. 我的情况是不同的,’IN’子句是随机的 SELECT SomeField,OtherField FROM TestResult WHERE TestResult.SomeField IN (45,2,445,12,789) 我想在(45,789)订单中检索结果.我使用的是Oracle数据库.也许在SQL中有一个属性我可以使用条件子句来指定以保持子句的顺序. 解决方法除非您使用ORDER BY子句,否则将不会有可靠的排序SELECT SomeField,789) order by case TestResult.SomeField when 45 then 1 when 2 then 2 when 445 then 3 ... end 您可以将查询分成5个查询联合 SELECT SomeField,OtherField FROM TestResult WHERE TestResult.SomeField = 4 union all SELECT SomeField,OtherField FROM TestResult WHERE TestResult.SomeField = 2 union all ... 我会相信以前的方法更多,它可能会表现更好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |