如何查看 SQLite 中两个 select 语句之间缺少哪些行?
How to see what rows are missing between two select statements in SQLite?
我有一个 table 视图,它有一个组列和一个数据列(以及其他列)。在一个特定的组中,应该有 n 行相同顺序的同一组文本。但是,我发现在某些组中,某些行丢失了。我想查询视图,以便查看缺少的行。
具体例子:
+--------+-------+
| Group | Data |
+--------+-------+
| 1 | row 1 |
| 1 | row 2 |
| 1 | row 3 |
| 2 | row 1 |
| 2 | row 3 |
+--------+-------+
第 2 组缺少“第 2 行”,我想要那个输出。类似于:
+-------+
| Data |
+-------+
| row 2 |
+-------+
这可能吗?
您需要取 Data 列的 COUNT
,然后发现 count(Data) 小于 Unique number of Group。
您可以使用下面的方法实现它。
Select
Data,Count(*)
from tab
Group By Data
having Count(*)<(select count(Distinct Grp) from tab);
DB Fiddle: Try it here
我有一个 table 视图,它有一个组列和一个数据列(以及其他列)。在一个特定的组中,应该有 n 行相同顺序的同一组文本。但是,我发现在某些组中,某些行丢失了。我想查询视图,以便查看缺少的行。
具体例子:
+--------+-------+
| Group | Data |
+--------+-------+
| 1 | row 1 |
| 1 | row 2 |
| 1 | row 3 |
| 2 | row 1 |
| 2 | row 3 |
+--------+-------+
第 2 组缺少“第 2 行”,我想要那个输出。类似于:
+-------+
| Data |
+-------+
| row 2 |
+-------+
这可能吗?
您需要取 Data 列的 COUNT
,然后发现 count(Data) 小于 Unique number of Group。
您可以使用下面的方法实现它。
Select
Data,Count(*)
from tab
Group By Data
having Count(*)<(select count(Distinct Grp) from tab);
DB Fiddle: Try it here