代码之家  ›  专栏  ›  技术社区  ›  Blair McMillan

编写MySQL查询以发现差异

  •  0
  • Blair McMillan  · 技术社区  · 15 年前

    我在整理以下查询时遇到问题:

    Data:
    Column1  Column2
    2        0
    0        -2
    

    我正在尝试选择第1列和第2列之间的差异,最小值为0。如。

    Row1=2
    Row2=0
    

    我当前的查询是 SELECT (Column1 - Column2) as total FROM blah .

    我试着加 max(Column2, 0) 进入查询,但这只是错误。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Michael Pakhantsov    15 年前

    尝试:

     SELECT GREATEST(Column1 - Column2, 0)
     from Table
    
        2
  •  0
  •   user254875486 TM Creative    15 年前

    mysql函数 MAX() 是一个聚合函数,通常与 GROUP BY . 它只接受一个参数(要选择其最大值的列的名称)。这个 GREATEST() 功能就是你需要的功能(正如迈克尔·帕克汉佐夫指出的那样)。