【发布时间】:2018-09-27 16:08:33
【问题描述】:
所以我有这个查询:
SELECT
Search.USER_ID,
Search.SEARCH_TERM,
COUNT(*) AS Search.count
FROM Search
GROUP BY 1,2
ORDER BY 3 DESC
返回如下所示的响应:
USER_ID SEARCH_TERM count
bob dog 50
bob cat 45
sally cat 38
john mouse 30
sally turtle 10
sally lion 5
john zebra 3
john leopard 1
我的问题是:我将如何更改查询,以便它只返回任何给定用户的前 2 个最常搜索的词?所以在上面的例子中,Sally 的最后一行将被删除,John 的最后一行也将被删除,总共留下 6 行;每个用户 2 个,如下所示:
USER_ID SEARCH_TERM count
bob dog 50
bob cat 45
sally cat 38
john mouse 30
sally turtle 10
john zebra 3
【问题讨论】:
-
哪个数据库引擎?有些有更简单的方法可以做到这一点,有些则需要更多的工作
-
抱歉,一开始就应该提供该信息 - 它在 Snowflake 中运行。
标签: sql ansi-sql snowflake-cloud-data-platform