mysql - MySQL比较两个结果并显示增量
问题描述
所以我有一个名为“food”的表,在这个表中我有两列“groceryBag”和“item”,如下所示:
groceryBag item
---------- -----
1 banana
1 eggs
2 ham
1 apple
1 chicken
2 apple
2 eggs
我的目标是返回包 1 和包 2 之间不同的结果。所以在我上面的示例中,结果将是:
groceryBag item
---------- -----
1 banana
2 ham
1 chicken
最初,我打算用 python 来解决这个问题,检查包 1 中的每个项目是否也在包 2 中,然后检查包 2 中的每个项目是否在包 1 中。当包在时,这变得非常耗时很大。我还考虑将两个查询结果输出到两个文件中,然后对它们进行比较。我希望有一种优雅的 MySQL 方法来比较两个查询结果并且只显示增量。任何帮助将不胜感激。
解决方案
计算每个项目的行数。如果一件物品仅在 1 行中,则它仅在 1 个袋子中。
SELECT MAX(bag) AS bag, item
FROM foo
GROUP BY item
HAVING COUNT(*) = 1
推荐阅读
- tensorflow - 将 Mozilla DeepSpeech 模型转换为在 tensorflow.js 环境中使用
- ios - 在 Swift 5 中更改 Lottie AnimationView 的大小
- mysql - 从以下位置插入/转换日期:C++ 到 mySQL db
- regex - 正则表达式匹配目录路径
- javascript - 如何将一串字母和数字拆分为数组并在javascript中分别对它们进行排序
- javascript - Jasmine - undefined 不是构造函数
- javascript - React redux,动作有效负载在 try/catch 块中看不到变量
- pytorch - nmt 中注意力解码器的余弦相似度
- functional-programming - 如何在球拍中编写排除功能?
- javascript - Google Scripts - 重新替换、转置和拆分数据