简体   繁体   English

mysql如何选择列的最大值作为结果集中的另一列

[英]mysql how to select maximum value of a column as another column in the resultset

My table is like this 我的桌子是这样的

ID  VALUE  
1   4  
2   6  
3   12  

I want to get an output in this format in mysql, could you provide me with an appropriate sql for the same 我想在mysql中以这种格式获得输出,你能为我提供相应的sql吗?

ID   VALUE  MAX_VALUE DIV_BY_MAX_VALUE  
1       4     12         0.33  
2       6     12         0.5   
3      12     12         1.0

You would join in the maximum and do the division: 你会加入最大值并进行分工:

select t.*, x.maxvalue, t.value / x.maxvalue
from t cross join
     (select max(value) as maxvalue from t) x;

试试这个:

select id,value,(select max(value) from mytable) as max_value, value/(select max(value) from mytable) as division from mytable;
START TRANSACTION;
SET @max_value = (select max(value) from mytable);
Select id, value, @max_value, value/@max_value as div_by_max from mytable;
COMMIT;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM