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