选择最小总值相同的随机列

时间:2017-11-14 04:06:30

标签: mysql sql

我需要列值相同的随机列。这里d1,d2,d3列值相同。最少列只变为<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <textarea name="texto_envio" class="form-control txtArea" maxlength="160"></textarea> <input type="text" maxlength=3 " class="form-control txtArea " /> <input type="text "maxlength=3" class="form-control txtArea" /> <span class="caracteres">160</span> restantes<br>列而不是d2或d3。

d1
id  date                    name    d1  d2  d3  d4  least_val   least_col
1   2017-02-10T09:00:00Z    bimal   1   2   3   4   1           d1
2   2017-02-10T09:00:00Z    amal    8   7   4   5   8           d1
3   2017-02-10T09:00:00Z    kamal   9   9   11  12  9           d1

See the SQL Fiddle

是否有可能随机获得 select f.*, (case ff.least_col when 'd1' then d1 when 'd2' then d2 when 'd3' then d3 when 'd4' then d4 end) as least_val, ff.least_col from formal f cross join (select least(sum(d1), sum(d2), sum(d3), sum(d4)) as least_val, (case least(sum(d1), sum(d2), sum(d3), sum(d4)) when sum(d1) then 'd1' when sum(d2) then 'd2' when sum(d3) then 'd3' when sum(d4) then 'd4' end) as least_col from formal ) ff; ,这意味着最不好的列将是least_cold1d2,而不是d3。我想说,每个执行时间d1都会在值相同时更改?

1 个答案:

答案 0 :(得分:0)

试试这个答案,希望这会对你有所帮助:

select *,Case When d1 < d2 And d1 < d3 And d1<d4 Then d1
            When d2 < d1 And d2 < d3 And d2<d4 Then d2
            When d3 < d1 And d3 < d2 And d3<d4 Then d3
            Else d4 end Least_Value
         ,Case When d1 < d2 And d1 < d3 And d1<d4 Then 'd1'
            When d2 < d1 And d2 < d3 And d2<d4 Then 'd2'
            When d3 < d1 And d3 < d2 And d3<d4 Then 'd3'
            Else 'd4' end Least_Column
from formal

检查答案:

SQL Fiddle