我有一个会话表,它有一个userId和一个访问主页的嵌套记录(字符串)和一个会话中每次访问的时间戳.基本上一行中的1:m关系:
UserId|SessionEndTime|page1|timestamp1|
|page2|timestamp2|
|page1|timestamp3|
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何让所有在过去6个月内访问过我的页面6x的userId,并且他们应该访问过几页(名称为'%astring%')至少2次.
这是我的方法,但我如何将类似的条件带入count()?:
SELECT UserId, COUNT(UserId) AS visitCounter FROM [oxidation.TestVisits]
WHERE SessionEndTime >= TIMESTAMP_TO_MSEC(DATE_ADD(CURRENT_TIMESTAMP(),-6,"MONTH"))
AND LastUserId != 'none'
GROUP BY 1
HAVING visitCounter>=6
ORDER BY 1 ASC
Run Code Online (Sandbox Code Playgroud)
添加SUM(page LIKE '%astring%') AS pageCounter到您的查询
SELECT UserId, COUNT(UserId) AS visitCounter,
SUM(page LIKE '%astring%') AS pageCounter
FROM [oxidation.TestVisits]
WHERE SessionEndTime >= TIMESTAMP_TO_MSEC(DATE_ADD(CURRENT_TIMESTAMP(),-6,"MONTH"))
AND LastUserId != 'none'
GROUP BY 1
HAVING visitCounter>=6
AND pageCounter >= 2
ORDER BY 1 ASC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |