圖一
1、首先我們得準備兩張
2、執行下面的sql語句,進行對每乙個人的數量進行彙總
select one_usertable.username, sum(killtable.kills_number) as "數量"
from one_usertable join killtable on
one_usertable.id =killtable.user_id group by one_usertable.username
得出如下的結果,那麼現在是行的形式了,接下來,我們進行轉列的形式
3、執行下面的sql語句
select * from (
select sum(killtable.kills_number) as "陳小燕"
from one_usertable join killtable on
one_usertable.id =killtable.user_id and one_usertable.username="陳小燕"
) a cross join(
select sum(killtable.kills_number) as "陳小蝶"
from one_usertable join killtable on
one_usertable.id =killtable.user_id and one_usertable.username="陳小蝶"
) b cross join(
select sum(killtable.kills_number) as "陳小水"
from one_usertable join killtable on
one_usertable.id =killtable.user_id and one_usertable.username="陳小水") c
那麼我們要顯示的行轉列就會實現出來了
還有第二種實現方法,我們接下來實現case方法來實現
select sum(case when username="陳小燕" then kills_number end) as '陳小燕',
sum(case when username="陳小蝶" then kills_number end) as '陳小蝶',
sum(case when username="陳小水" then kills_number end) as '陳小水'
from one_usertable join killtable on one_usertable.id=killtable.user_id
得出來的結果仍然是
但是我們用這兩種行轉列是存在乙個缺點的,比如說,我們連線join次數會隨著使用者的次數增加而增加,影響效率不高,而且還會帶來給我們寫sql的複雜性,雖然在開發中我們用這種的技巧並不是很多,但是我們每天學多一點就是進步一點。
mysql內連線查詢之自連線
連線查詢 當查詢資料時,通過連線操作查詢出存放在多個表中的不同資料,當兩個或者多個表中存在相同意義的字段時,便可以通過這些欄位對不同的表進行連線查詢。自連線 如果在乙個連線查詢中,涉及的兩個表都是同乙個表,這種查詢稱為自連線查詢。自連線是一種特殊的內連線,它是指相互連線的表在物理上為同一張表,但可以...
MySQL系列之自連線用法簡介
mysql系列之自連線簡介,mysql自連線操作,沒有特定的關鍵字,所謂自連線指的是同乙個表不同例項之間的join操作 引用的圖示 特徵 自連線操作一般應用與有層級關係的表,最經典的就是員工 經理例子 ok,下面舉例說明 建立部門dept表 table structure for table dep...
C 連線使用MySQL的方法
c 連線使用mysql,供大家參考,具體內容如下 定義mysqlcon類 class mysqlcon 初始化操作 mysqlcon mysqlcon if mysql init mysql nullptr if mysql options mysql,mysql set charset name,...