SQL - 计算遗漏结果的数量

标签 sql sqlite count

我正在寻找一种方法来计算我的 sql 查询省略了多少结果(我正在使用 Sqlite):

SELECT id FROM users GROUP BY x, y, email;

此查询返回 121 个 id(共 50 000 个),如果知道每对 (x,y) 省略了多少个 id,那就太好了。

可能吗?

感谢您的帮助,

编辑:

示例:

+--+-----+----+-------------+
|ID|x    |y   |email        |
+--+-----+----+-------------+
|1 |48.86|2.34|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7c161314123c08190f08521f1311" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+
|2 |48.86|2.34|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="25554d4c4965514056510b464a48" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+
|3 |40.85|2.31|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2943464147695d4c5a5d074a4644" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+
|4 |48.86|2.34|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ff8f979693bf8b9a8c8bd19c9092" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+
|5 |40.85|2.31|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bbd1d4d3d5fbcfdec8cf95d8d4d6" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+
|6 |48.86|2.34|<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="700018191c30041503045e131f1d" rel="noreferrer noopener nofollow">[email protected]</a>|
+--+-----+----+-------------+

查询:

SELECT id FROM users GROUP BY x, y, email;

结果:

+--+
|id|
+--+
|1 |
+--+
|2 |
+--+
|3 |
+--+

因为:id 4 和 id 6 与 id 2 具有相同的 x,y,电子邮件,并且 5 与 3 相同。

我需要最快的方法来知道:

id 1 -> 0 omitted
id 2 -> 2 omitted (id 4 and id 6 had same x, y, email)
id 3 -> 1 omitted (id 3)

最佳答案

SELECT id, COUNT(*) -1 AS omitted FROM users GROUP BY x, y, email;

...假设您实际上想“知道每个元组(x, y, email) 省略了多少个

关于SQL - 计算遗漏结果的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162247/

相关文章:

sql - 按条件分组

multithreading - 来自多个线程的 sqlite3 只读访问

php - 在 PHP 中显示 SELECT COUNT(*) 的结果

mysql - SQL - 如何计算自定义创建的错误代码

MYSQL 统计每个用户过去发布的列表

mysql - 即使mysql没有对应的结果,如何获取计数?

sql - Django - 获取其他2个字段相等的字段总和

sql - Microsoft SQL Server Native Client 10.0 登录超时已过期

Android - contentResolver.notifyChange() 降低性能

java - 如果变量没有数据尝试另一个?