MYSQL - 1列中的多个所有数据,同一列中的最大值

时间:2017-11-18 16:57:14

标签: java jquery mysql sql

我在条件表中有数据如下:

+----+
| c1 |
+----+
| 1  |
| 2  |
| 3  |
| 4  |
| 5  |
+----+

我想要的是将c1中的所有数据与c1列中的最高值相乘,因此它变为:

1x5
2x5
3x5
4x5
5x5

结果应该是这样的:

+--------+
| new c1 |
+--------+
| 5      |
| 10     |
| 15     |
| 20     |
| 25     |
+--------+

那么,我应该写什么查询?

3 个答案:

答案 0 :(得分:1)

您可以使用:

SELECT t.m * c1 
FROM MyTable, 
(SELECT max(c1) as m from MyTable) t

demo

答案 1 :(得分:0)

您可以在子查询上使用交叉连接来计算最大值

 select a.c1*t.max_c1
 from my_table  a
 cross  join (
  select max(c1)  as max_c1
  from my_table 
 ) t

答案 2 :(得分:0)

您可以尝试

SELECT (xx.columnName * xx.max_val) AS 'expected_result' FROM (SELECT MAX(columnName) AS max_val,myTable.columnName FROM myTable)xx