我有一個視圖,其中包含(其他列)標題「名稱」,和項目「評級」列。該視圖將標題連接到項目表,因此每個項目都會重複標題中的名稱列。一個報告的sql查詢
我需要運行在桌子上的報告;理想情況下,我會在sql結果中有5列;標題「名稱」以及「評級」列的4份副本,其中評級列的每個副本均顯示超過特定閾值的評級計數。因此,評分欄#1將顯示錶中項目的數量(對於項目的標題),其評分爲1或更高,第二評分欄將顯示錶格中項目的數量(對於同一項目的標題)評級爲5或更高,等等。
我知道怎麼弄的名稱和1分評級列回:
select name, count(rating) as cnt1 from myview where rating > 1 group by name
,但相結合,與其他所需評級列在此刻沒有我。嘗試使用「聯合」條款,但只是在結果列表中放置多行。絕對需求(查詢必須插入到報表模板中,因此非常不靈活)在於,我只爲視圖中每個唯一的「名稱」字段返回一行,因爲否則將要讀取的報表對象數據將不知道如何解釋結果。
任何提示?
更新 下面是一些示例數據:
name, rating
myname1, 1
myname1, 1
myname1, 10
myname1, 4
myname1, 7
myname1, 3
myname1, 5
myname1, 5
myname1, 4
myname2, 2
myname2, 10
myname2, 6
myname2, 8
myname2, 5
myname2, 4
myname2, 6
和期望的輸出:
name, cnt1, cnt5, cnt7, cnt8
myname1, 7, 2, 1, 1
myname2, 7, 4, 2, 1
...其中CNT1 =等級> 1,CNT5 =評分> 5,CNT7 =評級> 7,CNT8 =評級> 8
@ user85116,可您發佈數據的表格佈局,你想要什麼出去? – Brad 2010-10-06 13:00:40
使用Sum(Count(rating))? – Emerion 2010-10-06 13:06:18