mysql - 如何在mysql中显示具有多个音乐流派类别的专辑?

标签 mysql sql

我的查询是:

SELECT a.title 
FROM   album a, 
       album_genre ag, 
       genre g 
WHERE  a.album_id = ag.album_id 
       AND ag.genre_id = g.genre_id 
       AND Count(ag.album_id) > 1;

最佳答案

最好使用inner join语法,这种语法已经被认为是过时的。

SELECT a.title 
FROM   album a
INNER JOIN album_genre ag, 
   ON a.album_id = ag.album_id 
INNER JOIN genre g 
   ON ag.genre_id = g.genre_id 
GROUP BY 
       a.title 
HAVING Count(g.genre_id) > 1; 

注意:我不确定如何进行分组依据,因为不知道您的架构。

我认为如果 albun_genre 有重复的行,这个简单的版本就可以工作。

SELECT a.title 
FROM   album a
INNER JOIN album_genre ag, 
   ON a.album_id = ag.album_id     
GROUP BY 
       a.title 
HAVING Count(ag.album_id) > 1;

关于mysql - 如何在mysql中显示具有多个音乐流派类别的专辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774635/

相关文章:

mysql - SQL 查找 4 月份最畅销产品

javascript - 我如何从数据库表中读取事件并在 java 脚本和 jquery 中以各自的日期显示它们

mysql如何从表中填充缺失的日历月并用组中的先前值填充缺失值

mysql - UCS2 和 unicode C 和 mysql

SQL:如何通过某些列的值将表中的 'split' 行?

sql查询返回两个表之间的差异

php - 通过 PHP 运行时出现 MySQL 错误,但在 phpMyAdmin 中没有

sql - 在 SQL Where 语句中使用通配符

python - 在 flask HTML 模板中运行 python 模块

mysql - 相同的查询但有两个结果?