从多个表中选择多个值的计数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从多个表中选择多个值的计数相关的知识,希望对你有一定的参考价值。

我有一个广播电台的歌曲数据库,这些数据库是由各个程序添加到报告中的。我想选择专辑,album_id,专辑中的歌曲数以及单个艺术家的报告历史中的专辑出现数。所以我想要以下结果:

| album_id | album_name | track_count | report_occurrence_count |
|---------------------------------------------------------------|
| 1        | Name 1     | 10          | 25                      |
| 2        | Name 2     | 15          | 65                      |
| 3        | Name 3     | 23          | 11                      |

编辑:相关表从中选择值:

| album     | artist     | track       | report_track   |
|-------------------------------------------------------|
| id        | id         | id          | id             |
| artist_id | name       | album_id    | report_id      |
| name      | ...        | artist_id   | track_id       |
| ...       | ...        | ...         | ...            |

我可以获取跟踪计数或报告出现计数,但不能同时获取两者。我尝试了以下方法:

SELECT al.id as album_id, al.name, al.identifier, count(tr.album_id) as track_count, 
count(rt.track_id) as report_occurrence
FROM playlist__album as al, playlist__artist as ar, playlist__track as tr,
playlist__report_track as rt
WHERE al.artist_id = ar.id
and tr.album_id = al.id
and rt.track_id = tr.id
and ar.id = 39887
group by album_id

但是这使我的track_count和report_occurrence_count列的report_occurrence计数。如果我将count(rt.track_id)删除为report_occurrence,则将获得track_count的正确值。我已经尝试过here中找到的方法,但是该方法可以让我按艺术家计数所有曲目,而不是按专辑计数。

DB表是这样的:<<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3RlZW11a29zdGFtby9mdWxsc3RhRRRRRWiRnWycWynWycWynWcWyc​​WycWycWycWxWycWycWxWycWycWycWycWyW9c

我有一个广播电台的歌曲数据库,这些数据库是由各个程序添加到报告中的。我想选择专辑,album_id,专辑中的歌曲数量以及报告中专辑出现的数量...

答案

可能是您需要不同的track_no用于轨道

以上是关于从多个表中选择多个值的计数的主要内容,如果未能解决你的问题,请参考以下文章

HANA SQL 从一个表中找到的多个表中选择计数 (*)

使用联合第 2 部分从多个表中选择计数相关行

在一个 sql 命令中从一个数据库表中选择多个计数

从 Hive 中的多个表中选择 count(*)

kotlin-从一个片段更改多个片段的小数位

一次返回多个动态选择查询