可能值得澄清的是,Oracle 中的“GROUP”(来自GROUP BY
操作)是将一行或多行原始数据合并为结果中的一行。
回顾:
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”值)其中如果该GROUP BY
子句可能是您所追求的,或者您只想将具有相同值的排序行放在一起,那么您只是在查看ORDER BY
.
我想说上面的 Randy 和 Harshit 非常接近,只是我会在 SELECT 列表中包含 FLAG 列,这样你就可以看到 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