Быстрый обзор, я пытаюсь получить последние 5 сообщений на форуме из моей таблицы (-ов) форума, чтобы отобразить пользователю в столбце RHS.Попытка получить список уникальных сообщений форума, не работает
Что я также хочу, так это то, что этот список должен показывать только уникальные заголовки форумов (иногда пользователи публикуют один и тот же пост на нескольких форумах, я не хочу, чтобы в моем ящике RHS потенциально отображались те же 5 «названий», даже хотя они находятся в разных категориях форума).
Но этот sql не работает по-тихому ... он полностью пропускает любые сообщения на форуме, которые имеют один и тот же заголовок несколько раз, я все же хочу иметь много записей заглавия, но только один.
SELECT
f.id,
f.title,
fm.url_path
FROM forum_posts AS f
INNER JOIN forum_master AS fm
ON f.forum_id = fm.id
WHERE deleted = 0
AND blacklisted = 0
GROUP BY f.title
ORDER BY f.id DESC
LIMIT 5
Для примера рассмотрим эту таблицу
id title
1 a
2 b
3 c
4 d
5 e
6 f
7 f
Я хочу вернуться идентификаторами 7,5,4,3,2. Мне все еще нужен экземпляр названия f, но только один. Мой код, кажется, возвращает 1-5 (полностью пропуская оба id 6-7, потому что они имеют одинаковый заголовок).
Любые мысли ????
Я просто попробовал это в скрипте SQL, и кажется, что он ведет себя так, как вы его описываете. Что-нибудь еще, что вы могли бы добавить, чтобы помочь ему сломаться? Или я что-то недопонимаю? http://sqlfiddle.com/#!2/ce692/1 – Lathejockey81
Спасибо Lathejockey81 ... да, ваша скрипка, похоже, работает правильно. Хм, у меня должны быть гремлины в моем коде, чтобы расследовать и ответить. Спасибо за это! –
Это действительно странно ... после выполнения тестирования и var_dumps возвращаемого результата db определенно пропускает строки с тем же заголовком. Не уверен, что это имеет значение, но я нахожусь в XAMPP (перезапущен сервер, все та же проблема), запуская MySQL версии 5.6.12. Если я выберу GROUP BY, я получаю результат с 3 одинаковыми названиями, верните его и я не получу ни одного из них. 3. Арххх. –