你印象最深的一道SQL题目是什么?
问题:编写一个SQL查询,找出所有至少连续出现过三次的数字。 例如,如果给定的数字序列是: [1, 1, 1, 2, 3, 1, 2, 2, 2, 1] 则查询结果应该是: 1 2 因为1至少出现过三次连续,而2也至少出现过三次连续。 这道题考察的知识点是SQL的窗口函数。我们可以使用以下SQL语句解决: sql SELECT num AS '数字' FROM (SELECT num, count(*) OVER(ORDER BY num ROWS 2 PRECEDING) AS cnt FROM numbers) t WHERE cnt >= 3;
赞1
踩0