加入一个小组?

时间:2011-04-26 08:27:55

标签: mysql sql

我有一个名为rc_language_type_table的表格,其中包含:

id language
1 english
2 Xhosa
3 afrikaans

等 然后我有一个表rc_language_type_assoc_table with:

profile_id | language_type_id |
+------------+------------------+
| 3 | 1 | 
| 13 | 1 | 
| 15 | 1 | 
| 16 | 1 |

我有个人资料,每个个人资料都连接到一对多的语言ID 所以我做了:

select *,count(*) from rc_language_type_assoc_table group by language_type_id;
+------------+------------------+----------+
| profile_id | language_type_id | count(*) |
+------------+------------------+----------+
| 3 | 1 | 96 | 
| 3 | 2 | 19 | 
| 3 | 3 | 18 | 
| 64 | 4 | 51 | 
| 94 | 5 | 10 | 
| 37 | 6 | 26 | 
| 3 | 7 | 21 | 
| 3 | 8 | 4 | 
| 3 | 9 | 6 | 
| 88 | 10 | 4 | 
| 3 | 11 | 3 | 
+------------+------------------+----------+

我现在想要的是:取而代之的是我需要显示实际语言的language_type_id ...我该怎么办?

我试过了:

select *, count(*) 
from rc_language_type_assoc_table, rc_language_type_table 
group by language_type_id 
where rc_language_type_assoc_table.language_type_id = rc_language_type_table.id;

但我收到语法错误... 请帮忙??

谢谢

1 个答案:

答案 0 :(得分:1)

GROUP BY应该在WHERE语句之后而不是在

之前
select *, count(*) 
from rc_language_type_assoc_table, rc_language_type_table 
where rc_language_type_assoc_table.language_type_id = rc_language_type_table.id
group by language_type_id ;