SQL查詢各階段的統計資訊

2021-09-30 11:10:03 字數 1754 閱讀 2716

我們常常會遇到各種分類統計問題,需要將這些結果一次顯示出來。這次老師提出的要求是我想看60分以下多少人,60~70多少人,70~80多少人,80~90多少人,90~100多少人。他們以前做的統計資訊是,相同分數的有多少人,不同的分數都會在chart圖表裡顯示一列,這樣的效果通常是不被需要的,而且資料多的時候也會亂七八糟,沒有美感,所以老師提出上面開始的要求。

他們以前的效果對應的sql語句是:

select testscore as 分數,count(testscore) as 人數 from t_scores  where examid= '" + hs["examid"] + "' group by testscore
查詢結果:

這樣的查詢結果,有幾條記錄chart圖表就會有多少個柱狀條,記錄越多就會顯得雜亂無章。

修改後的sql語句:

select count(result1) as '0~60',count(result2) as '60~70',count(result3) as '70~80', count(result4) as '80~90',count(result5) as '90~100'

from( select (case when testscore>=0 and testscore<60 then (studentno) end) result1,

(case when testscore>=60 and testscore<70 then (studentno) end) result2,

(case when testscore>=70 and testscore<80 then (studentno) end) result3,

(case when testscore>=80 and testscore<90 then (studentno) end) result4,

(case when testscore>=90 then (studentno) end) result5

from t_scores where examid= '" + hs["examid"]+" ')t

查詢結果:

這樣對各個階段的人數是多少,就能很清楚的知道了。再對查詢結果稍作處理,列和行交換一下,這樣就是5行記錄,每行就是乙個階段對應的總人數。這樣每次查詢的結果都是5條,對應繫結的chart表就只有5條柱狀條。而他們以前的查詢結果是不一定的,得根據學生的成績而定,所以對應繫結的chart圖表的柱狀條數也很多,他們會乙個學生分數就會對應一條柱狀條。修改之前的就相當於乙個詳細的記錄,而人們往往經常需要的不是乙個詳細的記錄,是總體的大概情況,只有出現問題或特殊需求時才會去看一些詳細的情況。這正對應著常說的一句話,「不謀全域性者 不足謀一域」,然後大家做的時候就往往將他拋至一邊了,所以要試著將一些常說的大道理付諸到咱們的行動上來。

PIPE各階段的實現

1.pc選擇和取指階段 這個階段必須選擇程式計數器pc的當前值,並且 下乙個pc值。pc選擇邏輯從三個程式計數器源中進行選擇。當一條 錯誤的分支進入訪存階段時,會從流水線暫存器m 訊號m vala 中讀出該指令valp的值 指明下一條指令的位址 當ret指令進入寫回階段時,會從流水線暫存器w 訊號w...

測試各階段的check List

常用測試checklist,可繼續補充 迭代測試前checklist 檢查時間 檢查人序號 內容檢查結果 1提前確定測試範圍以及提交測試包的時間和方式 2評估工作量,確定測試週期,確定測試重點以及測試策略 3安排測試計畫,並郵件發出 4根據測試內容,準備測試環境和測試資料 5跟蹤測試包提交時間 測試...

各階段缺陷檢出密度的統計分析案例

某企業積累了10個專案的歷史度量資料,積累了5個階段的缺陷密度,即從需求評審的缺陷密度,直至交付後3個月內的缺陷密度,計量單位統一為缺陷數 kloc。對10個專案資料在一張圖上採用箱線圖圖進行展示,得到如下的趨勢 第10個專案在3個箱線圖圖中都是離群點,該專案是公司的乙個重點專案,公司抽調了精英進行...