我正在寫一個查詢來總結了一些數據。我在那基本上是布爾表中的一個標誌,所以我需要一些資金,並根據它的一個價值數,然後爲其他值同樣的事情,就像這樣:集團通過加入同一個表時兩次
select
location
,count(*)
,sum(duration)
from my.table
where type = 'X'
and location = @location
and date(some_tstamp) = @date
group by location
,然後在同一爲類型列的另一個值。如果我加入這個表兩次,我如何仍然組,所以我只能得到每個表的聚合,即計數(一個*
),而不是計數(*)...
是否會更好地寫兩個單獨的疑問?
編輯
謝謝大家,但是這不是我的意思。我需要分別得到一個類型='X'和一個總結,其中type ='Y'...讓我發表一個更好的例子。我的意思是這樣的一個查詢:
select
a.location
,count(a.*)
,sum(a.duration)
,count(b.*)
,sum(b.duration)
from my.table a, my.table b
where a.type = 'X'
and a.location = @location
and date(a.some_tstamp) = @date
and b.location = @location
and date(b.some_tstamp) = @date
and b.type = 'Y'
group by a.location
我需要什麼來分組?另外,DB2不喜歡count(a。*
),這是一個語法錯誤。
兩個答案給你你想要的東西,這取決於如果你想讓它水平或垂直的。 – TheSoftwareJedi 2008-10-22 21:06:36
你能告訴我們一個小數據集和你所期望的例子嗎? – 2008-10-23 13:13:05