如何获取不同页码的记录
How to get record with diff page number
如何获得以下输出:-
Table 包含:-
+--------+-------------+-----------+
| word | unique id | page no |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 2 |
+--------+-------------+-----------+
|CDPlayer| 8888 | 1 |
+--------+-------------+-----------+
|CDPlayer| 8888 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 2 |
+--------+-------------+-----------+
我想记录哪些重复页码不同,即如果单词具有相同的页码则忽略该记录,如果单词具有相同的页码以及不同的页码则收集该记录
输出:-
+--------+-------------+-----------+
| word | unique id | page no |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 2 |
+--------+-------------+-----------+
| Watch | 1212 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 2 |
+--------+-------------+-----------+
任何想法或建议,怎么做?
这个可能有帮助:
SELECT DISTINCT m.* FROM mytable m
QUALIFY COUNT(DISTINCT page_no) OVER (PARTITION BY word,unique_id ) > 1;
+-------+-----------+---------+
| WORD | UNIQUE_ID | PAGE_NO |
+-------+-----------+---------+
| tv | 4444 | 1 |
| tv | 4444 | 2 |
| Watch | 1212 | 1 |
| Watch | 1212 | 2 |
+-------+-----------+---------+
合格:https://docs.snowflake.com/en/sql-reference/constructs/qualify.html
如何获得以下输出:-
Table 包含:-
+--------+-------------+-----------+
| word | unique id | page no |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 2 |
+--------+-------------+-----------+
|CDPlayer| 8888 | 1 |
+--------+-------------+-----------+
|CDPlayer| 8888 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 2 |
+--------+-------------+-----------+
我想记录哪些重复页码不同,即如果单词具有相同的页码则忽略该记录,如果单词具有相同的页码以及不同的页码则收集该记录
输出:-
+--------+-------------+-----------+
| word | unique id | page no |
+--------+-------------+-----------+
| tv | 4444 | 1 |
+--------+-------------+-----------+
| tv | 4444 | 2 |
+--------+-------------+-----------+
| Watch | 1212 | 1 |
+--------+-------------+-----------+
| Watch | 1212 | 2 |
+--------+-------------+-----------+
任何想法或建议,怎么做?
这个可能有帮助:
SELECT DISTINCT m.* FROM mytable m
QUALIFY COUNT(DISTINCT page_no) OVER (PARTITION BY word,unique_id ) > 1;
+-------+-----------+---------+
| WORD | UNIQUE_ID | PAGE_NO |
+-------+-----------+---------+
| tv | 4444 | 1 |
| tv | 4444 | 2 |
| Watch | 1212 | 1 |
| Watch | 1212 | 2 |
+-------+-----------+---------+
合格:https://docs.snowflake.com/en/sql-reference/constructs/qualify.html