请原谅,我不太熟悉sql来完成下面的工作。但如果可能的话,我很想学习如何去做。
我只有一个表:表名sessiontracker
-----------------------------------------------------------------------------------------------------------------------------------
bundleID | sessionId | deviceID | eventType | codeValue
------------------------------------------------------------------------------------------------------------------------------------
com.package.random 3871207406642403679 333333-00000-0000-00000-000000000000000 REQUEST 1
com.package.random 3871207406642403679 333333-00000-0000-00000-000000000000000 EVENT 1
com.package.random 3871207406642403679 333333-00000-0000-00000-000000000000000 RESPONSE 1
com.package.random 3245233406642403679 000000-00000-0000-00000-000000000000000 REQUEST 1
com.package.random 3245233406642403679 000000-00000-0000-00000-000000000000000 EVENT 2
com.package.random 3245233406642403679 000000-00000-0000-00000-000000000000000 RESPONSE 2
com.package.random 871207406643e243433 000000-00000-0000-00000-000000000000000 REQUEST 1
com.package.random2 3243254325454535422 111111-00000-0000-00000-000000000000000 REQUEST 1
com.package.random3 4353453452525252465 222222-00000-0000-00000-000000000000000 REQUEST 1
com.package.random4 3453656456353252345 111111-00000-0000-00000-000000000000000 REQUEST 1
com.package.random5 4567568765745634563 111111-00000-0000-00000-000000000000000 REQUEST 1
我想去
Select all the sessions where the codeValue was different within that session.
从上面的例子来看:
我想检查由请求、事件和响应组成的会话是否在每个会话中有不同的值。与上面的sessionid(3871207406642403679)一样,每个sessionid中的代码值都是1,因此不会对此进行标记。
第二个sessionid(3245233406642403679)请求、事件和响应之一中的代码值为event和response的代码值2,因此将对此进行标记。
我希望databricks中的查询能起作用,这可能吗?
1条答案
按热度按时间iovurdzv1#
在sql中,可以使用聚合和
having
条款:这给了你一切
sessionId
至少有两个不同的codeValue
s。