Мне нужно получить последние записи, которые повторяются более двух раз.MySQL последние записи с условием
структура:
CREATE TABLE IF NOT EXISTS `tags` (
`tag_n` int(10) NOT NULL AUTO_INCREMENT,
`post_n` int(10) NOT NULL,
`tag` varchar(30) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`tag_n`),
KEY `tag` (`tag`),
KEY `post_n` (`post_n`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
записей:
SELECT * FROM tags ORDER BY post_n DESC LIMIT 0 , 30
Мой запрос:
SELECT tag, COUNT(post_n) AS tags_count
FROM tags
GROUP BY tag HAVING tags_count>=2
ORDER BY post_n DESC LIMIT 5
Но я получаю неправильные результаты, последний должен быть «xpro», не может понять, что не так.
Любые идеи?
p.s. извините за мой английский.
Первое, что я замечаю, это то, что вы запрашиваете записи, повторяющиеся более двух раз, но ваш запрос ищет записи, повторяющиеся более одного раза ('> = 2', а не'> 2'). это оно? в противном случае вы должны, вероятно, показать нам, какой результат вы получаете, и что с ним не так. –
Извините, уже исправлено – swamprunner7