我發現CUBE只是生成所有的排列,但是我在ROLLUP方面遇到了問題。似乎沒有任何好的資源在線或在我正在閱讀的書中爲像我這樣的人一起解釋SQL。瞭解SQL中的ROLLUP
我的書說ROLLUP是CUBE運算符的一個特例,它排除了所有不符合結果內層次結構的情況。
我不完全確定它是什麼意思,但在桌子上運行它我產生了一些有用的結果。
我從另一個頁面上谷歌做了一個表是這樣的:
Type Store Number
Dog Miami 12
Cat Miami 18
Turtle Tampa 4
Dog Tampa 14
Cat Naples 9
Dog Naples 5
Turtle Naples 1
那麼這裏就是查詢我提出:
select store,[type], SUM(number) as Number from pets
group by store, [type]
with rollup
這說明我每類寵物的數量,每個門店,每個商店的寵物總數都很酷。如果我想看到基於寵物的查詢,我發現我必須按順序切換組,所以首先輸入。
那麼是基於第一組by子句彙總?
另一個問題是,當你有一年和一年的專欄來阻止它在多年的同一月份彙總時,我讀了你使用ROLLUP而不是CUBE。我想我明白這意味着什麼,但任何人都可以澄清它?你如何設置它?
您是否可以使用ROLLUP來排除其他列組合?我上面的表格非常簡單,查詢會顯示「按商店排列的寵物」,但如果有其他列,您可以在結果中包含/排除它們嗎?
哇哦,它使大量容易理解!希望他們只是把它放在教科書中。謝謝。 – NibblyPig 2010-07-01 09:18:55
不客氣。你能把你的問題標記爲答案嗎? – 2010-07-01 09:39:49
當然,我正在等待使用匯總排除其他列組合的答案,但我實際上通過分組集合找到了答案,所以是的。你應該寫教科書,因爲你的答案的前半部分告訴我比我的教科書和大量的谷歌搜索! – NibblyPig 2010-07-01 16:26:41