Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次の表があります。
personid INT, takeid INT, score INT
すべての人について、takeid は負の値と正の値の両方を取ることができます。次のクエリが必要です。
1) 特定の人の正の takeid が少なくとも 1 つある場合、正の takeid のセットから max(score) を取得します。
2) すべての takeid が負の場合、特定の人物の max(score) を選択します
誰もこれを行う方法を知っていますか?
試す:
select personid, case sign(max(takeid)) when 1 then max(case sign(takeid) when 1 then score) else max(score) end as maxscore from scoretable group by personid