GROUP BY
Oracle の (操作からの) 「グループ」は、生データの 1 つ以上の行が結果の単一の行に統合された場所であることを明確にする価値があるかもしれません。
それを思い出します:
SELECT flag FROM web_loc_info GROUP BY flag ORDER BY flag
と同等です
SELECT DISTINCT flag FROM web_log_info ORDER BY flag
(フラグ列に Y 値と N 値のみが含まれている場合、両方のクエリで 2 行が返されます。)
したがって、今後、「グループ」と考えるときは、「各グループ値 (この場合はフラグ列の "Y"/"N" 値) に対して 1 つの行が存在するようにデータを要約する」という意味かどうか尋ねてください。GROUP BY
句がおそらくあなたが求めているものであるか、同じ値を持つ並べ替え行をまとめたい場合、その場合はORDER BY
.
上記の Randy と Harshit はかなり近いと言えますが、FLAG 列を SELECT リストに含めて、LOCATION と COUNTRY の値がどの「グループ」に属しているかを確認できるようにします (そして、グループ化の中断がどこで発生するかを明確にします) ):
SELECT flag,
location,
country
FROM web_loc_info
WHERE flag IN ('Y', 'N')
AND available_online = 'Y'
ORDER BY flag, -- DESC if you want the Y rows to show first
location, -- DESC? or is there actually a column called LOCATION_DESC?
country