我有两张表:
cat_seriale -表示系列类别,并为每个类别提供ID,如: 1、2、3、4、5。
seriale -这是真正的电视连续剧,每个电视连续剧都属于一个类别。
我在试着
SELECT * FROM cat_seriale WHERE `id`='1' 此外,对于所有列,还显示串行表中所有行的views列的总和。
如果有人能帮我,那就太好了。
提前谢谢。
模式:
cat_seriale columns:
Primary Key - catid(int)
catname (varchar)
...
seriale columns:
Primary Key - id(int)
cat (int)
views(int)我需要选择cat_seriale where ID = 1,并在seriale列中选择sum of views,其中cat与cat_seriale中的id相同。
发布于 2016-08-27 04:20:48
如下所示:
select *, (select sum(views) from seriale S where S.cat=C.catid) as sum_views
from cat_seriale C
where id='1'
order by sum_views发布于 2016-08-27 04:35:33
把这两张表连接起来。
SELECT c.*, SUM(s.views) AS views
FROM cat_seriale AS c
LEFT JOIN seriale AS s ON c.catid = s.cat
WHERE c.id = `1`
GROUP BY c.catid发布于 2016-08-27 04:35:39
@Mike answer +1,但此版本具有更高的性能:
SELECT c.*, SUM(s.views) as summary
FROM cat_seriale c
LEFT JOIN seriale s ON s.cat = c.catid
WHERE c.id = '1'
GROUP BY c.catid
ORDER BY summaryhttps://stackoverflow.com/questions/39173998
复制相似问题