![](/img/trans.png)
[英]How to copy values corresponding to the foreign key from another table to this table?
[英]How to get the values corresponding to another table?
我是 SQL 的新手,對如何編寫查詢以便在不同的表中獲取 state 的計數感到有點困惑。
即我有這張桌子[學生]
ID | 學校代碼 |
---|---|
0 | 0123 |
1個 | 2345 |
2個 | 2345 |
還有這張桌子[學校]
學校代碼 | 名稱 | State |
---|---|---|
0123 | xxyy | 新Jersey |
2345 | 木木 | 華盛頓 |
3456 | yxyx | 科拉多 |
我想了解如何通過檢查每個學生並計算 state 出現的頻率(按學生表中出現次數最多的順序排序)來獲取此表,該表告訴我 state 的條目。
State | 發生次數(遍歷學生) |
---|---|
華盛頓 | 2個 |
新Jersey | 1個 |
SELECT school.state, count(school.state)
FROM student, school
WHERE student.school_code = school.school_code
GROUP BY school.state
ORDER BY count(school.state)`
我不確定這是否會遍歷每個學生並計算他們? 或者只是自然加入學生和學校,然后計算所有州
當我在提供的數據上運行它時,發生的次數非常少,這似乎不對?
我們可以簡單地連接兩個表並COUNT
學生表中的學校代碼,使用GROUP BY
JOIN
:
SELECT
sc.state, COUNT(st.school_code)
FROM
school sc
JOIN student st
ON sc.school_code = st.school_code
GROUP BY sc.state;
我們可以在這里試試: db<>fiddle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.