這可能是值得澄清的是,「集團」,在甲骨文(從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行。)
所以,在將來,當你認爲「group」詢問你的意思是「彙總數據,以便每個組值有一行」(在這種情況下,標誌列中的「Y」/「N」值),在這種情況下GROUP BY
子句可能是您在追蹤的內容,或者您只是想將具有相同值的行整理在一起,在這種情況下,您只需查看ORDER BY
。
我想說上面的Randy和Harshit是非常接近的只有我會在SELECT列表中包含FLAG列,以便您可以看到LOCATION和COUNTRY值屬於哪個「group」(並使其明顯在哪裏在分組發生時):
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
你能定義'不行'嗎? – GolezTrol
查詢的預期輸出是什麼?如果您在'flag'上進行分組,則需要在其他列上進行彙總。例如,你想要「位置」和「國家」的「數量」嗎?或者你想要所有的數據被返回並且只是首先在'flag'上排序?也許你想在'flag'上訂購,但只在第一行打印'flag'? –
任何時候,如果在WHERE子句中混合使用OR或AND,則應使用括號來闡明您的意圖。 – Joe