sql - Oracle SQL 过滤正常值中的高值
问题描述
我有如下示例数据,我想过滤/识别出正常值。不确定如何在 SQL 构造中排除异常值。尝试取平均值(Sal),但不确定如何从平均值中排除那些高值?
date dept_id Sal
201907 10 250
201907 10 290
201907 10 320
201907 10 100000
201907 10 500000
201908 20 800
201908 20 860
201908 20 700
201908 20 850000
201908 20 1000000
201909 10 260
201909 10 230
201909 10 310
预期输出如下
date dept_id Sal out_of_normal_values
201907 10 250 N
201907 10 290 N
201907 10 320 N
201907 10 100000 Y
201907 10 500000 Y
201908 20 800 N
201908 20 860 N
201908 20 700 N
201908 20 850000 Y
201908 20 1000000 Y
201909 10 260 N
201909 10 230 N
201909 10 310 N
解决方案
您可以创建 CASE 语句如下
case
when
sal > 1000
then
'Y'
else
'N'
end as out_of_normal_values
推荐阅读
- sql - PowerApps:UpdateIf 只更新前 100 条记录(SQL-Datasource)
- api - 无法访问 Maximo API 的文档?
- mediawiki - 使用修订 ID 构建修订对象
- python - 使用 Python 将音频的非语音部分静音/静音(语音活动检测)
- vue.js - 访问 Vue3 全局组件
- matrix - Ada 中的 HowTo 和多维矩阵
- clojure - 当`read-line`返回一个字符串时,为什么`read`返回一个符号
- python - (Django 3.1.6/Python 3.8.7)在字段或字段集中使用命名方法 admin.py 不起作用?
- vuejs2 - 在 Vuetify 中覆盖 application--wrap 类
- python - 将 numpy 扩展到未知数字