按较低的值添加和过滤;(MYSQL)
我必须做到这一点:得到用最不同唱片公司录制的歌手的名字 我有三张桌子,它们是: 歌手:按较低的值添加和过滤;(MYSQL),mysql,sql,aggregate-functions,Mysql,Sql,Aggregate Functions,我必须做到这一点:得到用最不同唱片公司录制的歌手的名字 我有三张桌子,它们是: 歌手: cod\u singer name\u singer 录音: cod\u记录 cod\u singer 记录公司 cod_song 唱片公司: 记录公司 国家/地区 cod_song 目前,我可以通过以下代码获得歌手和每个歌手的不同录音: SELECT DISTINCT s.nome_singer , r.cod_reccord FROM singer s
cod\u singer
name\u singer
录音:
cod\u记录
cod\u singer
记录公司
cod_song
唱片公司:
记录公司
国家/地区
cod_song
目前,我可以通过以下代码获得歌手和每个歌手的不同录音:
SELECT DISTINCT s.nome_singer
, r.cod_reccord
FROM singer s
JOIN reccord r
ON s.cod_singer = r.cod_singer;
但我不知道每个歌手能录制多少张唱片,我知道我必须使用
计数
,也许拥有
仅用于你的代码值,这应该可以做到
SELECT COUNT(DSTINCT record_company) number_of_labels, cod_singer
FROM recording
GROUP BY cod_singer
然后你可以加入歌手的行列
SELECT s.singer_name, n.number_of_labels
FROM singer s
LEFT JOIN (
SELECT COUNT(DSTINCT record_company) number_of_labels, cod_singer
FROM recording
GROUP BY cod_singer
) n ON s.cod_singer = n.cod_singer
专业提示:您每花一小时学习如何使用GROUP BY和各种聚合函数(如COUNT(*)和COUNT(DISTINCT column))都是一个很好的时间。SQL在这方面提供了巨大的能力。仅针对代码值,这应该可以做到
SELECT COUNT(DSTINCT record_company) number_of_labels, cod_singer
FROM recording
GROUP BY cod_singer
然后你可以加入歌手的行列
SELECT s.singer_name, n.number_of_labels
FROM singer s
LEFT JOIN (
SELECT COUNT(DSTINCT record_company) number_of_labels, cod_singer
FROM recording
GROUP BY cod_singer
) n ON s.cod_singer = n.cod_singer
专业提示:您每花一小时学习如何使用GROUP BY和各种聚合函数(如COUNT(*)和COUNT(DISTINCT column))都是一个很好的时间。SQL在这方面提供了强大的功能。您可以:
select name
from (
select
s.cod_singer,
max(c.name_singer) as name,
count(distinct c.record_company) as labels
from singer s
join recording r on r.cod_singer = s.cod_singer
join record_company c on c.cod_son = r.cod_song
group by s.cod_singer
) x
order by labels desc
limit 1
你可以做:
select name
from (
select
s.cod_singer,
max(c.name_singer) as name,
count(distinct c.record_company) as labels
from singer s
join recording r on r.cod_singer = s.cod_singer
join record_company c on c.cod_son = r.cod_song
group by s.cod_singer
) x
order by labels desc
limit 1
查找
分组依据
,计数()
,具有
查找分组依据
,计数()
,具有