MySQL: как получить записи с количеством> 1? - PullRequest
8 голосов
/ 01 декабря 2009

У меня есть sql, как это:

SELECT *, count(*) as cc 
FROM manytomany 
GROUP BY aid, bid
ORDER BY cc DESC

, которые возвращают все записи с количеством #.

однако, что я могу сделать, если я хочу получить только те, у которых число> 1?

Ответы [ 6 ]

23 голосов
/ 01 декабря 2009
SELECT *, count(*) as cc 
FROM manytomany 
GROUP BY aid, bid
HAVING 1 < count(*)
ORDER BY cc DESC
3 голосов
/ 01 декабря 2009

Вам нужно предложение HAVING , например:

SELECT *, count(*) as cc 
FROM manytomany 
GROUP BY aid, bid
HAVING COUNT(*) > 1
ORDER BY cc DESC

Вот немного фона .

2 голосов
/ 01 декабря 2009

Вы используете пункт имения.

SELECT *, count(*) as cc
FROM manytomany
GROUP BY aid, bid
HAVING count(*) > 1
ORDER BY cc DESC
1 голос
/ 01 декабря 2009
SELECT *, count(*) as cc 
FROM manytomany 
GROUP BY aid, bid
HAVING cc>1
ORDER BY cc DESC
1 голос
/ 01 декабря 2009
SELECT *, count(*) as cc 
FROM manytomany 
GROUP BY aid, bid
HAVING COUNT(*) > 1
ORDER BY cc DESC

Я не использую MySQL, но он должен поддерживать HAVING - он существует уже давно.

0 голосов
/ 01 декабря 2009

Предложение HAVING

   SELECT *, count(*) as cc 
    FROM manytomany 
    GROUP BY aid, bid
    HAVING cc > 1
    ORDER BY cc DESC
...