SQL Union“所有其他”行

Goldentoa11

我有一个Sqlite数据库,其中包含接近500,000行的访问日志信息。我将其用于汇总信息,例如“每个IP到达站点的次数”或“命中百分比为POST”等。

我编写了一个SQL查询,该查询收集每个IP地址访问该站点的次数,该站点的出现次数大于IP地址数量的1%。

select ip_address, count(ip_address)
from records
group by ip_address
having count(ip_address) > (select count(ip_address) from records) * .01

这将返回大约7个有效IP地址。如何将“所有其他”行合并到结果集中?

我尝试与逻辑相反的UNIONing

select "All Others", count(ip_address)
from records
group by ip_address
having count(ip_address) < (select count(ip_address) from records) * .01

但这会返回多个“所有其他”行,其顺序是连续的。

用户名

union all当然使用..但这不能回答“问题”。

这个问题是第二个查询“返回多个”(就像第一个查询一样),因为这group by是通过IP进行的,其中有很多。也就是说,每个组都有一个结果元,而与select output子句中的任何操作无关。

期望的目标可能是对外部选择进行计数。

-- union all
select "All Others", sum(t.ct)
from (
   select count(ip_address) as ct
   from records
   group by ip_address
   -- note: <=, and not <, is inverse of >
   having count(ip_address) <= (select count(ip_address) from records) * .01
   ) t

当然,如果知道“总计”和“找到”,那么“其他”就是“总计”-“找到”。

有趣的是,连续计数是无关紧要的。请记住,SQL可以按没有感觉到的顺序返回行,当行未order by应用于物化结果集时(order by严格保证不能在子选择中使用)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将SQL Server中的行与所有其他行合并

来自分类Dev

将sql表行与同一表的所有其他行联接

来自分类Dev

在sql中插入一个新行后,如何自动更新表中的所有其他行?

来自分类Dev

SQL用分号替换所有其他逗号

来自分类Dev

SQL Server Union All不获取所有行

来自分类Dev

SQL Union所有问题

来自分类Dev

查找已更改的所有行,并将old-Newvalue写入SQL Server 2012中的其他表

来自分类Dev

PHP fputcsv不从SQL查询输出第一行(在第一行之后输出所有其他行)

来自分类Dev

PHP fputcsv不从SQL查询输出第一行(在第一行之后输出所有其他行)

来自分类Dev

Linq union所有等效的SQL代码

来自分类Dev

SQL Union 不显示所有结果

来自分类Dev

SQL 忽略基于其他行的行

来自分类Dev

SQL日期时间从所有其他时间值更新为00:00:00

来自分类Dev

自定义SQL查询将覆盖Crystal报表中的所有其他报表数据

来自分类Dev

SQL将列的值与其他列的所有值匹配

来自分类Dev

SQL-选择特定ID的位置,存在其他列的所有不同值

来自分类Dev

sql使列名不重复并在同一表中显示所有其他值

来自分类Dev

自定义SQL查询将覆盖Crystal报表中的所有其他报表数据

来自分类Dev

SQL:如果找到某个值,则忽略为ID给出的所有其他值

来自分类Dev

如何在 SQL Server 中将 AND 条件设置为所有其他 OR 条件?

来自分类Dev

SQL 查询 SELECT 表,它总结了其他两个相等的所有值

来自分类Dev

删除其他行中具有相同值的sql行

来自分类Dev

SQL视图中需要的其他行

来自分类Dev

根据其他行填充SQL列

来自分类Dev

其他表的Postgres / SQL行标题

来自分类Dev

SQL查询以获取所有级别0为C但所有其他级别(如果有)都在W中的所有任务

来自分类Dev

SQL-如果还有其他

来自分类Dev

SQL选择具有与其他表中的列值匹配的列值的行

来自分类Dev

SQL Server-Pivot将行转换为列(带有其他行数据)

Related 相关文章

  1. 1

    将SQL Server中的行与所有其他行合并

  2. 2

    将sql表行与同一表的所有其他行联接

  3. 3

    在sql中插入一个新行后,如何自动更新表中的所有其他行?

  4. 4

    SQL用分号替换所有其他逗号

  5. 5

    SQL Server Union All不获取所有行

  6. 6

    SQL Union所有问题

  7. 7

    查找已更改的所有行,并将old-Newvalue写入SQL Server 2012中的其他表

  8. 8

    PHP fputcsv不从SQL查询输出第一行(在第一行之后输出所有其他行)

  9. 9

    PHP fputcsv不从SQL查询输出第一行(在第一行之后输出所有其他行)

  10. 10

    Linq union所有等效的SQL代码

  11. 11

    SQL Union 不显示所有结果

  12. 12

    SQL 忽略基于其他行的行

  13. 13

    SQL日期时间从所有其他时间值更新为00:00:00

  14. 14

    自定义SQL查询将覆盖Crystal报表中的所有其他报表数据

  15. 15

    SQL将列的值与其他列的所有值匹配

  16. 16

    SQL-选择特定ID的位置,存在其他列的所有不同值

  17. 17

    sql使列名不重复并在同一表中显示所有其他值

  18. 18

    自定义SQL查询将覆盖Crystal报表中的所有其他报表数据

  19. 19

    SQL:如果找到某个值,则忽略为ID给出的所有其他值

  20. 20

    如何在 SQL Server 中将 AND 条件设置为所有其他 OR 条件?

  21. 21

    SQL 查询 SELECT 表,它总结了其他两个相等的所有值

  22. 22

    删除其他行中具有相同值的sql行

  23. 23

    SQL视图中需要的其他行

  24. 24

    根据其他行填充SQL列

  25. 25

    其他表的Postgres / SQL行标题

  26. 26

    SQL查询以获取所有级别0为C但所有其他级别(如果有)都在W中的所有任务

  27. 27

    SQL-如果还有其他

  28. 28

    SQL选择具有与其他表中的列值匹配的列值的行

  29. 29

    SQL Server-Pivot将行转换为列(带有其他行数据)

热门标签

归档