兩表關聯計數統計

2021-10-10 02:42:46 字數 1154 閱讀 3075

一、背景

最近看到很多這樣的sql考察,如:a(user)表有id,name欄位等,b(log)表有id,a.id等,統計每個人日誌記錄數,沒有日誌記錄的為0,最後輸出id,name,log_count欄位

二、sql解析

1.先放sql看看

表資料user表:

log表:

;結果:

2.解析

看內層有個聚合查詢,user表的id和log表的user_id關聯,所有出現log的user_id數量(去重)是小於等於user表的id數量的,所以使用左連線(user表在左,log表在右)把兩表資料都查出來,看下結果:

select e.id, e.

`name`

, v.user_id from

user e left

join log v on e.id = v.user_id

結果:

3.獲取資料

最後在這個臨時表裡獲取我們資料,就是對id(臨時表的id即user表id),在根據id分組,分別統計user_id出現次數並對次數倒序,user_id為null,計數時就是0

oracle insert兩個關聯表

現有一張老師學生表 tb tea cou 由於業務需要,需把老師學生表tb tea stu拆分成兩張表 tb tea tb cou 並把記錄insert到這兩張子表中 tb tea tb cou為關聯的兩張表 表結構如下 tb tea cou id,pk name,任課老師 zc,職稱 course...

oracle 兩表關聯查詢

情景描述 查詢學生表student,sname,age資訊及所在班級clazz表 select sname,age,cname from student t1 left join clazz t2 on t1.cid t2.cid select sname,age,cname from studen...

oracle insert兩個關聯表

現有一張老師學生表 tb tea cou 由於業務需要,需把老師學生表tb tea stu拆分成兩張表 tb tea tb cou 並把記錄insert到這兩張子表中 tb tea tb cou為關聯的兩張表 表結構如下 tb tea cou id,pk name,任課老師 zc,職稱 course...