MYSQL - 1列中的多个所有数据在同一列中具有最大值
Posted
技术标签:
【中文标题】MYSQL - 1列中的多个所有数据在同一列中具有最大值【英文标题】:MYSQL - Multiple all data in 1 column with max value in the same column 【发布时间】:2018-05-02 07:01:12 【问题描述】:我在标准表中有这样的数据:
+----+
| c1 |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+----+
我想要的只是将c1中的所有数据与c1列中的最大值相乘,所以它变成:
1x5
2x5
3x5
4x5
5x5
结果应该是这样的:
+--------+
| new c1 |
+--------+
| 5 |
| 10 |
| 15 |
| 20 |
| 25 |
+--------+
那么,我应该写什么查询?
【问题讨论】:
【参考方案1】:你可以试试这个
SELECT (xx.columnName * xx.max_val) AS 'expected_result' FROM (SELECT MAX(columnName) AS max_val,myTable.columnName FROM myTable)xx
【讨论】:
【参考方案2】:你可以使用:
SELECT t.m * c1
FROM MyTable,
(SELECT max(c1) as m from MyTable) t
demo
【讨论】:
谢谢,但它不适用于 phpMyAdmin。你能帮我解决另一个问题吗? @YCF_L 你的回答很好,我只需要更新我的 phpmyadmin :)【参考方案3】:您可以在计算最大值的子查询上使用交叉连接
select a.c1*t.max_c1
from my_table a
cross join (
select max(c1) as max_c1
from my_table
) t
【讨论】:
以上是关于MYSQL - 1列中的多个所有数据在同一列中具有最大值的主要内容,如果未能解决你的问题,请参考以下文章