我在MYSQL中有一个表,我需要执行一个select,然后通过相当复杂的逻辑对其进行排序。这里是我的逻辑示例:如何通过查询写一个复杂的订单
if(column_a is not null && column_a > 0){
var_a = column_a
else
var_a = 1;
if(column_a is not null){
var_b = column_b
else
var_b = 0
if(column_c is not null){
var_c = column_c
else
var_c = column_d
ORDER BY(var_b * var_c)/ var_a
所以基本上,我想做的事SELECT *从mytable的WHERE参数=值ORDER东西线BY variable_to_order_by。我将不得不使用一些公式来处理variable_to_order_by,但我找不到任何这样做的方法,它不涉及八个单独的CASE WHERE语句,而且看起来非常混乱。还有其他建议吗?
谢谢!
如果你没有指出关于你的业务逻辑的信息,那么Mysql并不知道你的业务逻辑。所以你应该使用case .. then子句。 –
您需要提供一个更具体的数据示例。我真的不明白你想要获得什么。 –
此外,您可以通过数据库中的元素进行排序。我不明白你想要点什么。 –