Нужна помощь по запросам MySQL

S
На сайте с 21.05.2006
Offline
209
360

Есть таблица:

id1 | value1

id2 | value2

id1 | value3

id3 | value4

id1 | value5

Как сформировать запросы чтобы:

а) сделать выборку id, которые встречаются в таблице более чем 5 раз (т.е., например, если id1 встречается в таблице более 5 раз, то он попадает в выбору и т.д.)

б) подсчитать их количество.

M
На сайте с 20.08.2004
Offline
376
#1
shav:
а) сделать выборку уникальных id, которые встречаются в таблице более чем 5 раз (т.е., например, если id1 встречается в таблице более 5 раз, то он попадает в выбору и т.д.)

уникальный айди и встречается более чем 5 раз , по моему это не совместимые вещи.

или речь о нескольких таблицах?

отец сыночка, лапочки дочки и еще одного сыночка
S
На сайте с 21.05.2006
Offline
209
#2
Miracle:
уникальный айди и встречается более чем 5 раз , по моему это не совместимые вещи.

Уберите слово "уникальных", некорректно выразился.

M
На сайте с 20.08.2004
Offline
376
#3

а вообще для этих целей

SELECT id, count(id) AS cnt

FROM table_name

GROUP BY id

ORDER BY cnt DESC

S
На сайте с 21.05.2006
Offline
209
#4
Miracle:
а вообще для этих целей

SELECT id, count(id) AS cnt
FROM table_name
GROUP BY id
ORDER BY cnt DESC

Это понятно, но мне нужны только те id, которые встречаются более 5 раз.

edogs software
На сайте с 15.12.2005
Offline
775
#5

having count(id)>5

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
M
На сайте с 20.08.2004
Offline
376
#6

еще так

select id, cnt from (SELECT id, count(id) AS cnt

FROM table_name

GROUP BY id

ORDER BY cnt DESC ) t

where t.cnt > 5

S
На сайте с 21.05.2006
Offline
209
#7

Miracle, не уверен что последнее будет работать так как нужно

M
На сайте с 20.08.2004
Offline
376
#8
shav:
Miracle, не уверен что последнее будет работать так как нужно

перед тем как разместить я проверил - работает.

но с вариантом от edogs , я думаю, правильней.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий