中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql需求場景-列轉行

發布時間:2020-07-26 21:16:16 來源:網絡 閱讀:3103 作者:spihiker 欄目:MySQL數據庫

由于是模擬場景,直入主題,表名稱及結構定義很low,請忽視!

(1)現有學生分數表如下:
mysql> select * from vmark1;
+-----+--------+--------+------+
| sid | sname | course | mark |
+-----+--------+--------+------+
| 1 | 張三 | jsj | 90 |
| 1 | 張三 | yuwen | 65 |
| 1 | 張三 | yingyu | 80 |
| 2 | 李四 | jsj | 80 |
| 2 | 李四 | yuwen | 98 |
| 2 | 李四 | yingyu | 90 |
+-----+--------+--------+------+
6 rows in set (0.00 sec)

(2)需求是以更直觀的方式,查看學生的成績。細化也就是把mark這列的值,以行的形式展示。通過case..when語句查詢:
mysql> select sid,sname,case when course='jsj' then mark end jsj,case when course='yuwen' then mark end yuwen,case when course='yingyu' then mark end yingyu from vmark1;
+-----+--------+------+-------+--------+
| sid | sname | jsj | yuwen | yingyu |
+-----+--------+------+-------+--------+
| 1 | 張三 | 90 | NULL | NULL |
| 1 | 張三 | NULL | 65 | NULL |
| 1 | 張三 | NULL | NULL | 80 |
| 2 | 李四 | 80 | NULL | NULL |
| 2 | 李四 | NULL | 98 | NULL |
| 2 | 李四 | NULL | NULL | 90 |
+-----+--------+------+-------+--------+
6 rows in set (0.01 sec)

我靠,變成行了。但看起來依然很不友好!

(3)通過函數和group by字句優化:
mysql> select sid,sname,sum(case when course='jsj' then mark end) jsj,sum(case when course='yuwen' then mark end) yuwen,sum(case when course='yingyu' then mark end) yingyu from vmark1 group by sid;
+-----+--------+------+-------+--------+
| sid | sname | jsj | yuwen | yingyu |
+-----+--------+------+-------+--------+
| 1 | 張三 | 90 | 65 | 80 |
| 2 | 李四 | 80 | 98 | 90 |
+-----+--------+------+-------+--------+
2 rows in set (0.00 sec)

“哇塞,要的就是這效果。別動了。。就這樣”。運營妹子激動的說。

好吧。over.

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上蔡县| 昌都县| 蓬莱市| 登封市| 汝州市| 五家渠市| 红原县| 无棣县| 南充市| 项城市| 宜兴市| 丹棱县| 康平县| 万盛区| 汉中市| 容城县| 鹤岗市| 吉安县| 长沙市| 柯坪县| 融水| 定襄县| 兴隆县| 克东县| 江阴市| 溧水县| 北安市| 山东| 赤水市| 彭州市| 宜兴市| 清涧县| 射阳县| 镇坪县| 徐闻县| 鹤壁市| 肃南| 普洱| 普宁市| 时尚| 玉环县|