sql - 检查值是否存在但不对其进行分组
问题描述
我正在从这样的表中创建一个视图:
name lastname state number_1 number_2
john dal TX 100 200
dave pop 100 300
tom kim LA 300 600
kyle rom 50 10
kyle rom LA 50 10
我正在尝试相乘number_1
并number_2
有一列说明是否state
存在但不按其分组:
SELECT name, lastname, number_1*number_2 as product,
CASE
WHEN state IS NOT NULL
THEN True
ELSE False
END AS state_present
GROUP BY name, lastname
当我运行它时,我得到状态需要在聚合函数中使用,我想要的结果如下所示:
name lastname product state_present
john dal 200000 True
dave pop 300000 False
tom kim 1800000 True
kyle rom 500 False
kyle rom 500 True
解决方案
这回答了问题的原始版本。
您是否正在寻找带有一些表达式的简单选择?
select name, lastname, (number_1 * number_2) as product,
(state is not null) as state_present
from t;
您的问题似乎有点误导,因为它提到了聚合,但我根本不知道这将如何应用。
推荐阅读
- javascript - Javascript:提取字符串中搜索词之后的内容
- security - 唯一哈希作为端点的授权
- javascript - 隐藏div中的php src值更改
- unit-testing - 在 Foq 中模拟具有虚拟内部可设置属性的抽象类
- python-c-api - 从元组解析两个字节时无法访问的内存
- laravel-5.6 - 碳 setTestNow 功能不起作用
- c# - 从装饰属性中提取属性数据
- openssl - 无法使用 OpenSSL 1.1.1 构建 activemq CMS 3.9.5
- javascript - 如何使用正则表达式验证 UPI ID?
- node.js - 使用节点证书的 Google IAP 已过期错误?