【发布时间】:2019-06-19 12:52:08
【问题描述】:
如果我有一个示例表 my_site_visits 在 SQL 中显示我网站的用户访问过哪些页面:
user_id,url
1,index.html
1,index.html
1,foobar.html
1,index.js
2,a.html
2,b.html
2,index.html
3,foo.js
3,foo.js
4,bar.js
然后我可以找到访问过多个唯一页面的用户,例如
SELECT user_id, COUNT(*) unique_pages_visited
FROM (
SELECT DISTINCT user_id, url
FROM my_site_visits
)
GROUP BY user_id
HAVING unique_pages_visited > 1
结果:
user_id,unique_pages_visited
1,3
2,3
假设我添加到 Elastic 的 JSON 格式相似,是否有在 Elastic 中执行此操作的方法,例如
{
"user_id": n,
"url": string,
[Various other Elastic headers]
}
还可以在 Kibana 中本地执行此操作,还是我需要编写脚本来生成 Elastic 查询?
【问题讨论】:
-
你可以在elasticsearch中尝试聚合
标签: sql elasticsearch group-by kibana having