如何查看 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