SQL協同Excel製表統計各學院一二三等獎

2021-10-02 03:02:34 字數 2263 閱讀 4172

今天總算是考完了,然而剛出考場,就接到了任務,要求對全校863個校內獲獎專案進行統計處理,天。。

現有excel表一張,內含以下字段,和近900條資料

單位作品名稱

作者指導老師

獲獎等級

文學院aaaaaaaaaaaaaaaaaa

******

特等獎文學院

bbbbbbbbbbbbbbbbb

***x

***特等獎

傳媒學院

ccccccccccccccccccccc

******

***特等獎

社會學院

ddddddddddddddddd

***xx

***特等獎

社會學院

eeeeeeeeeeeeeeeeeeeeeee

******

特等獎其中獲獎等級分別為「特等獎、一等獎、二等獎和三等獎」

要求,統計出各個學院獲得特等獎、一等獎、二等獎、三等獎的個數,然後評分排序

首先想到excel自帶的分類彙總,但分類彙總只能彙總單一字段,不好搞

又想到了手動篩選數數字,但我是個懶人

所以想到用sql

直接開啟本地整合的xampp環境,使用傻瓜式的phpmyadmin來進行資料庫的新建

然後建立對應字段,欄位名選擇了varchar格式,長度要長一點,我保守起見會出現長的內容的字段的選了100

我沒有選擇直接從excel匯入mysql而是自己手動構造sql語句,這樣其實也很方便

利用excel拼接sql語句手動匯入資料庫

注意單雙引號分清楚,使用&進行引用資料的拼接,比如

="insert into table(college,proname,name,teacher,prize) values('"&a2&"','"&b2&"','"&c2&"','"&d2&"','"&e2&"');"
然後拖動填充柄,或者雙擊右下角,自動填充即可獲得對應的863條sql

然後最好匯入notepad或者什麼編輯軟體看一下,是不是每一條語句都是正常的,我這有些行會多出開頭結尾的雙引號出來,確定無誤後用自帶的sql工具匯入

只需要輸入

select college,

count(if

(prize=

"特等獎"

,true

,null

)) 特等獎,

count(if

(prize=

"一等獎"

,true

,null

)) 一等獎,

count(if

(prize=

"二等獎"

,true

,null

)) 二等獎,

count(if

(prize=

"三等獎"

,true

,null

)) 三等獎 from tiaozhanbei group

by college;

執行就都出來了

再複製到excel裡面排一下格式就行,很方便

難點主要是在count()group by

上網查了才知道count函式裡面也是可以加條件的,就很好,要不然我可能會這麼寫,加上where就只能統計某乙個獎了

select college,count(prize) from tiaozhanbei where prize = "特等獎" group by college

group by的話相當於分類字段,要選對,不要選錯

sql利用在一條語句中count出不同的條件的值

sql 查詢問題 count 多個字段如何實現

Oracle 複製表 SQL語句

如下,表a是資料庫中已經存在的表,b是準備根據表a進行複製建立的表 1 只複製表結構的sql create table b as select from a where 1 12 即複製表結構又複製表中資料的sql create table b as select from a3 複製表的制定欄位的...

sql學習筆記1 製表

sql 結構化查詢語言 資料庫管理系統 dbms 關係型資料庫是由許多表組成的,並且這些表之間可能存在關聯。多個表之間通過相同的關鍵字,字段可以得到乙個結果集。建立表 create database 建立資料庫 sql不區分大小寫,命名不能有空格可用下劃線 use 使用資料庫 進入 資料庫編輯 cr...

SQL語句複製表結構

1 我想要建立乙個新錶table1,並且這個表中的結構與ts account這個表中完全一樣,如何編寫sql sql語句 sql server select into ele payee account rr from ele payee account where 1 2 oracle mysql...