mysql - 通过比较一组列值创建一个新列
问题描述
如何按表中的“product_id”对一组行进行分组,并通过比较组内的一组列值来创建一个新列?
例如,
product id part_id availability
1 1 true
1 2 false
1 3 true
2 1 true
2 4 true
2 8 true
通过比较“可用性”,我想创建一个“可行性”列。如果缺少单个部分,那将是不可行的。
product_id feasibility
1 false
2 true
我使用 GROUP BY 子句按 product_id 对它们进行排序,但我无法弄清楚第二部分。
解决方案
--insert into test(product_id, availability) values (1,true),(1,false),(2,true),(2,true);
select distinct product_id
from test
where product_id not in (
select product_id
from test
group by product_id, availability
having availability=false
)
推荐阅读
- regex - 在 Bash 中实现正则表达式
- amazon-web-services - IAM 用户可以查看 Athena 表。如何限制一个用户看不到其他数据库和表
- postman - 邮递员如何在 newman 命令中显示执行时间
- pytorch - 运行 pytorch 时出现错误“TypeError: object of type'CatsAndDogsDataset' has no len()' 我想知道如何解决它
- javascript - 将固定/粘性标题注入任何网页
- javascript - 如何从 vue 中的 main.js 文件重新渲染组件?
- css - 如何围绕正在移动的另一个元素的中心旋转 svg 元素?
- python - 带有 pep8 命名的 Flake8 抱怨 camelCase 进口
- xamarin.forms - 为什么我的 Azure SignalR Hub 方法没有被触发?
- r - 如何计算不同变量的每个个体的平均值