假設我有一個數據庫表contianing名稱和標記爲100的一些學生沒有。我想根據他的分數給每個學生分配一個分數。我想導致形式爲:SQL查詢數據庫
GRADE NAME MARKS
A X 85
B Y 75
讓是獎勵等級的標準如下:
A - if 85 <= marks < 100
B - if 70 <= marks < 85
請有人可以給我一個SQL查詢(最好是PostgreSQL的查詢)做上述計算。
假設我有一個數據庫表contianing名稱和標記爲100的一些學生沒有。我想根據他的分數給每個學生分配一個分數。我想導致形式爲:SQL查詢數據庫
GRADE NAME MARKS
A X 85
B Y 75
讓是獎勵等級的標準如下:
A - if 85 <= marks < 100
B - if 70 <= marks < 85
請有人可以給我一個SQL查詢(最好是PostgreSQL的查詢)做上述計算。
那麼你可以嘗試這樣做:
select name, marks,
CASE WHEN marks >= 85 THEN 'A'
ELSE 'B'
END AS grades
FROM your_table
您的意思是類似的東西
你打敗了我。有一個upvote。另外,鏈接到相關文檔可能會很好:http://www.postgresql.org/docs/9.1/static/plpgsql-control-structures.html#PLPGSQL-CONDITIONALS –
@NickRetallack:這是錯誤的鏈接。這裏顯示的'CASE'不是** PL/pgSQL條件。正確的鏈接是:http://www.postgresql.org/docs/9.1/static/functions-conditional.html#FUNCTIONS-CASE –
@Nick,以及我執行由sudhir給出的postgres查詢,它只是工作正常 –
好像你只希望保留數字分數在數據庫和移動確定的業務邏輯, B,C等您的應用程序業務邏輯。您可能想要包含您正在使用的語言/程序的詳細信息。 – botbot
@masterkrang我認爲這是一個合法的問題。在postgres中可以這樣做,所以不需要外部應用程序。 –