0
對不起,如果我問這個愚蠢的問題,因爲它困惑我如何做幾天。如何從MYSQL中的行創建水平列?
我有一張名爲Grades的MySQL表。
現在,我想要做的就是做出這樣的輸出。
是否有SQL可以這樣做?提前謝謝你。
對不起,如果我問這個愚蠢的問題,因爲它困惑我如何做幾天。如何從MYSQL中的行創建水平列?
我有一張名爲Grades的MySQL表。
現在,我想要做的就是做出這樣的輸出。
是否有SQL可以這樣做?提前謝謝你。
你可以申請一個案件/何時和由學生和班級分組。如果你只想要一個人,只需申請一個where子句......或者即使你想要所有學生上課,或者某個學年......等等
SELECT
g.studNumber,
g.subjCode,
MAX(case when g.period = 1 then g.grade else 0 end) as 1st_period,
MAX(case when g.period = 2 then g.grade else 0 end) as 2nd_period,
MAX(case when g.period = 3 then g.grade else 0 end) as 3rd_period,
MAX(case when g.period = 4 then g.grade else 0 end) as 4th_period,
AVG(g.grade) as Ave
from
Grades g
group by
g.studNumber,
g.subjCode
非常感謝Drapp的幫助......這個SQL語句有效。我很感激你。 –
可能重複的[MYSQL - Rows到列](http://stackoverflow.com/questions/1241178/mysql-rows-to-columns) –
另請參閱我的答案[MySQL動態交叉選項卡](http://stackoverflow.com/questions/8977855/mysql -dynamic-cross-tab) –