1
select 
    (`Setup` + `run` + `cleanup`) / `QNTY`
from 
    the_table 
where 
    date_field >= "2012-01-01" and
    Num = 4;

每次我在 MySQL 工作台中执行此查询时,工作台应用程序都会立即崩溃。好像我以前做过很多次,不知道是什么问题。

我唯一能想到的是空值的问题。有时 ( Setup++ run)cleanup会返回 null,有时也会返回QNTYnull。

我刚刚检查过,这个查询也会导致崩溃:

select 
    (`Setup` + `run` + `cleanup`) / `QNTY`
from 
    the_table
where 
    date_field >= "2012-01-01" and
    (`Setup` + `run` + `cleanup`) is not null and
    `QNTY` is not null and
    `QNTY` != 0 and
    Num = 4

谢谢。

4

2 回答 2

1

我会尝试

select 
    (coalesce(Setup, 0) + coalesce(run, 0) + coalesce(cleanup, 0)) / QNTY
from 
    the_table
where 
    date_field >= '2012-01-01' and
    Num = 4 and
    coalesce(QNTY, 0) <>0
于 2012-06-08T15:17:12.493 回答
0

看起来像评论中 Darkwater23 建议的工作台中的错误。我在旧的 MySQL 查询浏览器上进行了尝试,它使用 null 和零以及所有​​内容执行得很好。

于 2012-06-08T15:25:43.653 回答