id是發(fā)帖人的編號,是唯一的,我們想知道每個會員的發(fā)帖數(shù),group by id----按照id分組,就是必然選擇。 count(name)是對按照id分組之后的結(jié)果計算name的個數(shù)。
正確答案是:A: `select id, count(name) from t1 group by id;`
### 分析:
1. **A: `select id, count(name) from t1 group by id;`**
- 這條語句的作用是按發(fā)帖人的編號(id)分組,并統(tǒng)計每個發(fā)帖人發(fā)帖的數(shù)量(count(name))。
- `group by id` 是將相同 id 的記錄分為一組,然后對每一組進行計算。
- 這正好滿足了題目要求“顯示每個會員發(fā)了幾個帖子”。
2. **B: `select id, count(name) from t1 group by id having count(name)>5;`**
- 這條語句在 A 的基礎(chǔ)上增加了 `having count(name)>5`,即只顯示發(fā)帖數(shù)大于 5 的會員。
- 雖然這條語句可以統(tǒng)計發(fā)帖數(shù),但它并不符合題目要求,因為題目沒有要求過濾發(fā)帖數(shù)。
3. **C: `select id, count(name) from t1 group by id having count(name)>5 order by count(name);`**
- 這條語句在 B 的基礎(chǔ)上增加了 `order by count(name)`,即按發(fā)帖數(shù)排序。
- 同樣,這條語句在統(tǒng)計發(fā)帖數(shù)的基礎(chǔ)上進行了過濾和排序,但題目只要求顯示每個會員發(fā)了幾個帖子,沒有要求過濾和排序。
4. **D: `select id, count(name) from t1 where id > 100 group by id;`**
- 這條語句增加了 `where id > 100` 的條件,意味著只統(tǒng)計 id 大于 100 的會員發(fā)帖數(shù)。
- 這不符合題目要求,因為題目沒有要求對 id 進行過濾。
綜上所述,A 選項最符合題目的要求,即按發(fā)帖人編號分組并統(tǒng)計每個會員發(fā)了幾個帖子。