1

我的表 WebLog 有 retcode、ipno、orgdate 和 zone。

我正在尝试使用 when 和 else 语句对 retcode 字段中每个数值的 retcode 进行查询,并将所有 NULL 归为 ELSE 类别。

然后对于这些类别中的每一个,计算每个组中的记录数并平均字节数。

到目前为止,我已经想出了这个,但我得到的只是分组在 retcode 列中的 NULL。

有人能指出我正确的方向吗?

SELECT CASE retcode
WHEN retcode = ipno THEN "ret"
ELSE NULL END AS retcode
FROM WebLog
GROUP BY ipno LIMIT 10;
4

1 回答 1

1

尝试将其更改为

SELECT CASE 
WHEN retcode = ipno THEN "ret"
ELSE NULL END AS retcode
FROM WebLog
GROUP BY ipno LIMIT 10;

或者

SELECT CASE retcode
WHEN ipno THEN "ret"
ELSE NULL END AS retcode
FROM WebLog
GROUP BY ipno LIMIT 10;

12.4. 控制流函数

CASE value 
    WHEN [compare_value] 
    THEN result 
    [WHEN [compare_value] THEN result ...] 
    [ELSE result] 
END

CASE 
    WHEN [condition] 
    THEN result 
    [WHEN [condition] THEN result ...] 
    [ELSE result] 
END
于 2013-05-09T04:27:05.543 回答