我正在寻找一种方法来计算我的 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/