sqlite 用于查找涉及两个表的答案的SQL代码

92dk7w1h  于 2022-11-14  发布在  SQLite
关注(0)|答案(1)|浏览(155)

我有一个数据库。这些数据库有两个表。
一张table是music
名称|日期|版本|Song_ID|Singer_ID
-|
LA|01.05.2009|1|1|1
秒|13.07.2009|1|2|2
墨西哥|13.07.2009|1|3|1
出发|13.09.2009|1|4|3
Hello|18.09.2009|1|5|(4,5)
不要放弃|12.02.2010|2|6|(5,6)
ZIC Zac|2010年3月18日|2|7|7
Blablabla|14.04.2010|2|8|2
哇啦啦|14.05.2011|3|9|4
食物优先|14.05.2011|3|10|5
|La Vie Est.17.06.2011|3|11|8
Jajajajaja|13.07.2011|3|12|9
和另一个名为singer的表
Singer|国籍|Singer_ID
-|-|
JT Watson|美国|1
Rafinha|巴西|2
Juan Casa|西班牙|3
Kidi|美国|4
Dede|美国|5
Briana|美国|6
Jay Ado|英国|7
Dani|澳大利亚|8
Mike Rich|美国|9
现在我想知道哪个版本的美国歌手参与最多。但问题是,只有Singer_ID。
有没有SQL代码可以找到它?
我给了那个代码,但得到了一个错误

%sql SELECT Singer_ID, COUNT(*) FROM music GROUP BY Singer_ID WHERE nationality == USA from singer
b91juud3

b91juud31#

当信息存在于两个不同的表中时,您需要使用联接。在这里,连接将在SINGER_ID

SELECT EDITION, COUNT(DISTINCT SINGER.SINGER_ID)
FROM MUSIC
INNER JOIN SINGER ON MUSIC.SINGER_ID = SINGER.SINGER_ID
WHERE SINGER.NATIONALITY = 'USA'
GROUP BY EDITION
ORDER BY 2 DESC

相关问题