CASE WHEN表达式用于对数据进行归类。
语法
CASE WHEN condition1 THEN result1
[WHEN condition2 THEN result2]
[ELSE result3]
END
参数说明
WHEN http_user_agent like '%Chrome%' then 'Chrome'
WHEN http_user_agent like '%Safari%' then 'Safari'
ELSE 'unknown'
END AS http_user_agent,
count(*) AS pv
GROUP BY
http_user_agent
查询和分析结果
示例2:统计不同请求时间的分布情况。
查询和分析语句
* |
SELECT
WHEN request_time < 10 then 't10'
WHEN request_time < 100 then 't100'
WHEN request_time < 1000 then 't1000'
WHEN request_time < 10000 then 't10000'
ELSE 'large'
END AS request_time,
count(*) AS pv
GROUP BY
request_time
查询和分析结果
如果
condition
为true,则返回
result1
,否则返回null。
IF(condition, result1)
如果
condition
为true,则返回
result1
,否则返回
result2
。
IF(condition, result1, result2)