CASE WHEN THEN ELSE END, MAX
825 ワード
case when then else endの使用
簡単に言えば.
case -> {
when -> if
else -> else
end -> }
グループbyのようにグループ化できます.
MAXを使用する場合は、Selectの値をすべてgroupbyに入れる必要があります.
partition by対応するパケットでCountまたはMaxを使用
簡単に言えば.
case -> {
when -> if
else -> else
end -> }
select * from (
select AA.a, b, c from (
select
case // {
when b = 'aaaaa' then 'a' //if( b = 'aaaaa') return a
when b = 'bbbbb' then 'b' //if( b = 'bbbbb') return b
else 'c' //else
END as b, //}
d
from temp where (d, b) IN (SELECT DISTINCT MAX(b) over (partition by c) as c, b
FROM temp)
) AA left outer join temp1 BB on AA.d = BB.d
) a where e = 'b'
max over partition byグループbyのようにグループ化できます.
MAXを使用する場合は、Selectの値をすべてgroupbyに入れる必要があります.
partition by対応するパケットでCountまたはMaxを使用
SELECT DISTINCT MAX(b) over (partition by c) as c, b
FROM temp
Reference
この問題について(CASE WHEN THEN ELSE END, MAX), 我々は、より多くの情報をここで見つけました https://velog.io/@vmelove/case-when-then-else-end-MAXテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol