MySQL使用GROUP BY和LEFT JOIN

时间:2018-10-07 16:44:09

标签: mysql group-by left-join

我有2个表,一个表存储类别树,另一个表进行翻译。

我想获取已翻译类别的数量。 语言是从100到900(dos)的代码。 例如,下一个代码将为'dos'100返回122。这意味着对于100,我在该lang上具有122个类别。

SELECT count(*) AS cats, i18n.dos
FROM `hex_articles_tree` tree 
LEFT JOIN hex_fields_i18n i18n 
ON i18n.tree_label_id = tree.id 
AND i18n.dos = 100 WHERE i18n.tree_label_id IS NOT NULL

查询的返回值为:

cats | dos
122  | 100

所以我的问题是a如何执行查询以返回每个lang的翻译。 我需要类似的东西:

cats | dos
122  | 100
96   | 120
56   | 200

使用一个没有翻译的简单表,其中“ dos”在表上是明确的,我可以使用以下方法完成所需的结果:

SELECT count(*) AS results, DOS 
FROM `hex_articles` 
GROUP BY DOS HAVING COUNT(*) > 1

任何想法如何将结果与左联接分组? 谢谢

0 个答案:

没有答案