Skip to content

Instantly share code, notes, and snippets.

@sunaot
Created October 6, 2011 15:54
Show Gist options
  • Save sunaot/1267771 to your computer and use it in GitHub Desktop.
Save sunaot/1267771 to your computer and use it in GitHub Desktop.
Haskell の groupBy の動作を誤解してるときに SQL で書いてみたそれっぽい動きをするもの
-- id num id+1 num
-------------------------
-- 1 1 2 2
-- 2 2 3 3
-- 3 3 4 4
-- 4 4 5 5
-- 5 5 6 6
-- 6 6 7 7
-- 7 7 8 8
-- 8 8 9 9
-- 9 9
select
r1.id
, r1.num
, case
when (r1.num * r2.num) % 3 > 0 then 0
else 1
end as grp
from
recs r1
left join
recs r2
on (r1.id+1 = r2.id)
order by
r1.id
;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment