MYSQL按不同表的总和排序

时间:2016-08-26 20:10:07

标签: mysql

我有两张桌子:

cat_seriale - 代表序列类别,并为每个类别提供ID,如:1,2,3,4,5。

seriale - 这是实际的电视连续剧,每个电视连续剧属于一个类别。

我正在尝试

SELECT * FROM cat_seriale WHERE `id`='1' 

除了所有列之外,还显示seriale表中所有行的views列的总和。

如果有人可以帮助我,那就太棒了。

提前致谢。

SCHEMA:

cat_seriale columns: 
Primary Key - catid(int)
catname (varchar)
...

seriale columns:
Primary Key - id(int)
cat (int)
views(int)

我需要选择ID = 1的cat_seriale,并选择cat与cat_seriale中id相同的系列列中的视图总和。

3 个答案:

答案 0 :(得分:1)

像这样:

<li>

答案 1 :(得分:1)

加入两个表格。

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

答案 2 :(得分:0)

+1 @Mike回答,但这个版本有更多性能:

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 summary