Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL比较两个结果并显示增量_Mysql_Sorting_Delta - Fatal编程技术网

MySQL比较两个结果并显示增量

MySQL比较两个结果并显示增量,mysql,sorting,delta,Mysql,Sorting,Delta,因此,我有一个名为food的表,在这个表中,我有两列“groceryBag”和“item”,如下所示: groceryBag item ---------- ----- 1 banana 1 eggs 2 ham 1 apple 1 chicken 2 apple 2 eggs 我的目标是返回包1和包2之间不同的结果

因此,我有一个名为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中。当行李非常大时,这将非常耗时。我还考虑将两个查询结果输出到两个文件中,然后将它们分开。我希望有一种eligant MySQL方法来比较两个查询结果,只显示增量。任何帮助都将不胜感激。

计算每个项目的行数。如果一件物品只有一行,那么它只有一个袋子

SELECT MAX(bag) AS bag, item
FROM foo
GROUP BY item
HAVING COUNT(*) = 1

我要找的是:

select * from (
select f.groceryBag, f.item as 1item from foo f where f.groceryBag = 1) 
as q1 where q1.1item no in ( 
select f.item from foo f where f.groceryBag = 2)        
然后做相反的操作,得到袋子2中的东西,而不是袋子1中的东西