MySQL подсчитывает возвращенный счетчик из набора результатов - PullRequest
2 голосов
/ 21 октября 2011

Мой текущий запрос выглядит так:

SELECT DISTINCT (member), count( UID ) AS numUID
FROM memberdata
GROUP BY Member
ORDER BY count( UID ) DESC

То, что я получаю, выглядит примерно так:

A name 1    175
A name 2    38
A name 3    37
A name 4    36
A name 5    36

Что я хочу сделать сейчас, так это получить счетчикnumUID, в приведенном выше примере я могу получить результат, подобный следующему:

**numUID**   **COUNT**
   175           1
   38            1
   37            1
   36            2

Я искал повсюду, но, похоже, не могу получить информацию, необходимую для правильного соединения этого запроса.Любая помощь будет оценена.

Спасибо,

1 Ответ

3 голосов
/ 21 октября 2011

Используйте подвыбор и другой GROUP BY:

SELECT numUID, COUNT(*)
FROM (
    SELECT member, count(UID) AS numUID
    FROM memberdata
    GROUP BY Member
) T1
GROUP BY numUID

Я также должен предупредить вас, что вы также неправильно используете DISTINCT.Когда вы используете DISTINCT, он всегда просматривает весь ряд.Запись DISTINCT(x) , y точно так же, как DISTINCT x, y.При использовании GROUP BY гарантируется, что вы получите только один ряд на группу.Здесь нет необходимости использовать DISTINCT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...