情况是这样的:

表一(sms)

id | t_id | sms_text
1 | 200 |一些文字在这里...
2 | 201 |一些文字在这里...
3 | 202 |一些文字在这里...
4 | 201 |一些文字在这里...
5 | 202 |一些文字在这里...
6 | 202 |一些文字在这里...


表二(味精)

id | t_id | msg_text
1 | 201 |一些文字在这里...
2 | 202 |一些文字在这里...
3 | 200 |一些文字在这里...
4 | 200 |一些文字在这里...
5 | 202 |一些文字在这里...
6 | 200 |一些文字在这里...


现在我想要类似的结果

计数结果(sms + msg)

t_id |计算结果
200 | 4
201 | 3
202 | 5


有可能吗?如果是,怎么办?

最佳答案

例如,您可以使用UNION ALL从两个表中获取t_id,而只需对它们进行COUNT即可;

SELECT t_id, COUNT(*) `count`
FROM (
  SELECT t_id FROM Table1
  UNION ALL
  SELECT t_id FROM Table2
) dummy
GROUP BY t_id


An SQLfiddle to test with

10-07 19:33