我有兩個表table1和table2。我希望得到主題的年度分佈。我爲主題數據製作了第二張表格。我創建了隨機表,table1和table2。MySql查詢從多個表中提取數據
tabel1
id | year
1 | 2001
2 | 2003
3 | 2001
4 | 2002
5 | 2001
我有共享 「ID」
table2
id | topic | subtopic
1 | sport | volley
1 | water | ok
1 | stock | apple
2 | stock | us
2 | stock | pine
3 | world | uk
3 | water | salt
4 | water | sweet
4 | world | ep
5 | sport | volley
5 | stock | apple
5 | stock | pine
TOP類別主題是股票(3 = 1,2,5),水(3 = 1,3,4)第二表,體育(2 = 1,5),世界(2 = 2,4)
而且,可以說,我想只有前兩名 「主題」 數據,因此,我的輸出數據將
stock | water
----------------
2001 2 | 2
2002 0 | 1
2003 1 | 0
到目前爲止,我設法做到了個人主題
SELECT table1.year AS YEAR, COUNT(DISTINCT table2.id) AS lcount
FROM table1, table2
WHERE topic = 'stock'
AND table1.id = table2.id
GROUP BY YEAR
主題不僅限於4個,可以有n個不同的主題。因此,可以找到n個不同的主題。我需要從他們中挑選前兩名。
而你的代碼到目前爲止嘗試的是? .. – dbf
這看起來像一個團隊工作,並有條款。你應該看看那些。 – usumoio
MySQL沒有內置的pivot操作符,因此除非事先知道所需的列,否則不能創建數據透視表。 – Barmar