MYSQL分组和计数列

MYSQL分组和计数列,mysql,Mysql,假设我有一张这样的桌子: +--------+-------+ | ID | LETTER| +--------+-------+ | 1 | A | | 1 | A | | 1 | A | | 2 | A | | 2 | B | | 3 | C | | 3 | D | | 4 | D | +--------+-------+ +-------

假设我有一张这样的桌子:

+--------+-------+
|  ID    | LETTER|
+--------+-------+
|  1     |   A   |
|  1     |   A   |
|  1     |   A   |
|  2     |   A   |
|  2     |   B   |
|  3     |   C   |
|  3     |   D   |
|  4     |   D   |
+--------+-------+
+--------+-------+
|  ID    | LETTER|
+--------+-------+
|  1     |   1   |
|  2     |   2   |
|  3     |   2   |
|  4     |   1   |
+--------+-------+
我将如何实现一个查询,该查询返回的ID后面跟有多少个唯一字母?所以看起来是这样的:

+--------+-------+
|  ID    | LETTER|
+--------+-------+
|  1     |   A   |
|  1     |   A   |
|  1     |   A   |
|  2     |   A   |
|  2     |   B   |
|  3     |   C   |
|  3     |   D   |
|  4     |   D   |
+--------+-------+
+--------+-------+
|  ID    | LETTER|
+--------+-------+
|  1     |   1   |
|  2     |   2   |
|  3     |   2   |
|  4     |   1   |
+--------+-------+

我试过使用“分组方式”,但我想不出来。

在提问之前,你应该先搜索答案。但你需要的是:

SELECT yt.ID, COUNT(DISTINCT yt.LETTER)
FROM yourtable yt
GROUP BY yt.ID