對學員成績表進行查詢,查詢任意兩科及格的學員數量

2022-04-08 02:37:33 字數 982 閱讀 4740

對學員成績表進行查詢,查詢任意兩科及格的學員數量

對學員成績表進行查詢

要求:1.查處任意及格兩科的學員數量

2.使用儲存過程

大家看看下面這種查詢辦法可行嗎,有沒有更好的方法!

資料庫表如下圖:

name 代表學員名稱 f1 \f2\f3\'f4代表課程成績

儲存過程如下:

方法一:

create proc  tests

asdeclare @agee float

set @agee=60

select count(name) from test a where  (a.f1>=@agee and a.f2>=@agee) or (a.f1>=@agee and a.f3>=@agee) or (a.f1>=@agee and a.f4>=@agee) or

(a.f2>=@agee and a.f3>=@agee) or (a.f2>=@agee and a.f4>=@agee) or (a.f3>=@agee and a.f4>=@agee)  www.2cto.com  

exec tests

經過各位同仁的評論:還有兩種更為簡潔的方法,現在補充在下面,以方便各位的檢視!

方法二:

select count(*) 

from dbo.test where case when f1 >= 60 then 1 else 0 end + 

case when f2 >= 60 then 1 else 0 end +

case when f3 >= 60 then 1 else 0 end +

case when f4 >= 60 then 1 else 0 end >= 2

方法三:

select count(*)

from dbo.test

where f1 / 60 + f2 / 60 + f3 / 60 + f4 / 60 >= 2  

作者 狼人天下

成績查詢 雜湊表

錄入 n 個學生的成績,並查詢。資料輸入 第一行輸入包括 n m 1 n 50,000,1 m 100,000 兩個數字。接下來 n 行,每行包含名字和成績,名字用字串表示,長度不超過 4.成績為不 超過 100 的非負整數,名字僅由小寫字母組成。接下來 m 行,每行包括乙個名字。資料輸出 輸出 m...

對查詢結果進行排序

order by 列名 asc desc 公升序或降序排序單列排序 多列排序 指定排序方向 一 單列排序 select from bookinfo order by price desc 注意 預設為公升序排序 二 多列排序 按照多個列進行排序,預設公升序,如 相同 時,按庫存排序 select f...

xpath對XML進行模糊查詢

試卷xml,因為試卷的選擇題的型別並沒有統一,型別資訊包含在name的字串中,而xml格式是其他人定義的,不能修改,所以要使用xpath進行模糊查詢。contains 是乙個字串查詢函式 語法是 fn contains string1,string2 表示如果 string1 包含 string2,...