【发布时间】:2017-04-13 04:12:29
【问题描述】:
所以我有两个表,表 1:Music Styles 包含具有 StyleID 和 StyleName 的字段,StyleName 是一种流派,表 2:entertainers 具有字段 SyleID 和 EntertainerID。
我需要帮助查找的是:
1) 艺人数据库中最受欢迎的音乐风格是什么?
这是我目前所拥有的:
SELECT StyleID, StyleName
from EA_Music_Styles
WHERE StyleID = (SELECT StyleID
from EA_Entertainer_Styles
WHERE StyleID = (SELECT MAX(StyleID)
FROM EA_Entertainer_Styles));
但我得到一个错误代码“子查询返回超过 1 行”
我需要帮助,不知道该怎么做?第一次初学者。
以下是表格: 表格1: 样式ID 样式N 1 40 年代的舞厅音乐 2 50 年代的音乐 3 60 年代的音乐 4 70 年代的音乐 5 80 年代音乐 6 国家 7 古典 8 经典摇滚 9说唱 10 当代 11 乡村摇滚 12 猫王 13 民间 14 室内乐 15 爵士乐 16 卡拉OK 17 摩城 18 现代摇滚 19 节奏与蓝调 20首秀曲 21个标准 22 首 40 首热门歌曲 23 品种 24 莎莎 25 90 年代音乐
表 2:
StyleID 艺人ID 3 1003 3 1008 4 1010 6 1007 6 1008 7 1009 7 1011 7 1012 8 1003 10 1001 10 1013 11 1007 13 1004 13 1012 14 1009 14 1011 15 1005 15 1013 17 1002 19 1002 19 1005 20 1001 20 1011 21 1001 21 1009 21 1010 22 1006 22 1010 23 1002 23 1006 24 1005 24 1006
所以结果会输出两个 StyleID,7 & 21 和 StyleName,这将是 Classical & Standards
【问题讨论】:
-
请记住,MAX 给出的是最大值而不是出现次数最多的值。要获得最常用的值,您必须进行分组和计数。