【问题标题】:MYSQL - Multiple all data in 1 column with max value in the same columnMYSQL - 1列中的多个所有数据在同一列中具有最大值
【发布时间】: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     |
+--------+

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

【问题讨论】:

    标签: java jquery mysql sql


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 2022-07-16
        • 1970-01-01
        • 2011-08-03
        • 2018-10-06
        • 2015-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-08
        相关资源
        最近更新 更多