如何查看SQLite中两个select语句之间缺少哪些行?



我有一个表视图,它有一个组列和一个数据列(以及其他列)。在一个特定的组中,应该有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)小于Group的唯一编号。

您可以使用下面的命令来实现。

Select
Data,Count(*)
from tab
Group By Data
having Count(*)<(select count(Distinct Grp) from tab);

DB Fiddle: Try it here

最新更新