Вывод из базы

Печать RSS
344

О

Землянин
0
Если группировать ненужно, тогда лучшим вариантом я вижу подцепить джойном таблицу саму на себя
SELECT tbl.`ip` FROM 
( SELECT `ip` FROM table GROUP BY ip HAVING COUNT(ip) >= 2)  AS tbl 
JOIN table USING(ip)
Изменил: Олег (27.09.2010 / 00:20)
P

Землянин
0
Мой вариант, проверил, работает:

SELECT `users`.*
FROM `users`
LEFT JOIN (
SELECT `ip`, COUNT(`ip`) as `count`
FROM `users`
GROUP BY `ip`
) as `users2`
ON `users`.`ip`=`users2`.`ip`
WHERE `users2`.`count`>1
ORDER BY `users`.`ip` ASC
P

Землянин
0
Да, мой способ более быдлокодский. Впервые вижу ключевое слово "HAVING", пошёл читать ман. =)
UPD: Хм, про USING тоже не знал.
UPD2: HAVING рулит. Это получается через него постусловия можно задавать. Мне порой такие фокусы приходилось делать, потому что я про него не знал.
Изменил: Phantom (27.09.2010 / 00:37)
О

Землянин
0
Да, можно в нем использовать и агрегатные функции. Что я и сделал
В
Автор
Пришелец
0
Всем спасибо, сделал )
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск