[英]Find minimum value column and minimum value column name
I have a table named formal
:我有一个名为
formal
的表:
id date name d1 d2 d3 d4
1 20/10/2017 bimal 6 7 8 9
2 20/10/2017 kumar 13 10 11 12
3 20/10/2017 aman 16 17 14 15
4 20/10/2017 halim 25 21 23 16
I need column wise min.我需要列明智的分钟。 value.
价值。 ie d1=6+13+16+25=
60
, d2=7+10+17+21= 55
, d3=8+11+14+23= 56
, d4= 9+12+15+19= 52
.即 d1=6+13+16+25=
60
, d2=7+10+17+21= 55
, d3=8+11+14+23= 56
, d4= 9+12+15+19= 52
。
Here as lower column is d4.这里作为下列是d4。 so my
min _value
col will be 9,12,15,19.所以我的
min _value
col 将是 9,12,15,19。
My next column is min_value_col
.我的下一列是
min_value_col
。 It will be simply d4, d4, d4, d4.它将只是 d4、d4、d4、d4。
Now my output table will be as:现在我的输出表将是:
id date name d1 d2 d3 d4 min_value min_value_col
1 20/10/2017 bimal 6 7 8 9 9 d4
2 20/10/2017 kumar 13 10 11 12 12 d4
3 20/10/2017 aman 16 17 14 15 15 d4
4 20/10/2017 halim 25 21 23 16 16 d4
I need to fill min_value
and min_value_col
field respectively through mysql query.我需要通过 mysql 查询分别填写
min_value
和min_value_col
字段。
Following query will give both min_value
and min_value_col
:以下查询将同时给出
min_value
和min_value_col
:
select id,fr_date,name,d1,d2,d3,d4,
@min_value_col:=case when least_sum= sum_d1 then 'd1' when
least_sum= sum_d2 then 'd2' when least_sum= sum_d3 then 'd3'
when least_sum= sum_d4 then 'd4' end min_value_col,
case @min_value_col when 'd1' then d1 when 'd2' then d2
when 'd3' then d3 when 'd4' then d4 end min_value
from formal,
(select sum(d1) sum_d1,sum(d2) sum_d2,sum(d3) sum_d3, sum(d4) sum_d4,
least(sum(d1),sum(d2),sum(d3),sum(d4)) least_sum
from formal) TEMP
You seem to want:你似乎想要:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.