Дельный совет!
Я просто облажался в коде.
Запрос на выборку кол-во записей шел не в ту таблицу и в результате мой описанный запрос выше просил вывести LIMIT -3, 3 записей.
Существуют 2 таблицы: таблица с сообщениями (message) и таблица с данными пользователей (users).
Вот код запроса, который выбирает сообщения с message и аватарку с users:
$query=sprintf('SELECT m.id, m.sender, m.theme, m.text_mes, m.date, m.fno, u.avatar FROM message m INNER JOIN users u ON m.sender=u.username WHERE m.receiver="%s" AND m.fr="%s" ORDER BY m.date DESC ',$user,"1");
fr - flag receiver, флаг который отвечает за показ сообщения на странице получателя 1-показывать, 0 - нет
И какая собственно проблема: нужно сделать выборку на ограниченное количество записей для постраничной навигации... вот только оказалось, что вот так запрос не катит:
$query=sprintf('SELECT m.id, m.sender, m.theme, m.text_mes, m.date, m.fno, u.avatar FROM message m INNER JOIN users u ON m.sender=u.username WHERE m.receiver="%s" AND m.fr="%s" ORDER BY m.date DESC LIMIT %s, %s',$user,"1",$start,$num);
Вот только count в mysql запросе ведет себя странно:одни нормально считает, а другие не правильно... на посте номер 8 вместо положенных 4х считает, что их 2... а на втором, что их 4 когда их 1 (учитывая поля, где v_a='1')...
Существуют 2 таблицы: comments и groups
comments - таблица с комментариями к описанию группы
groups - таблица с информацией о группах
comments содержит поля: id, post, author, text_com и т. д.
groups содержит : id, img_src, title и т. д.
При добавлении комментария в поле post таблицы comments заносится идентификатор группы из groups.
Теперь мне нужно сделать следующее: выбрать поля id, img_src, title из таблицы groups тех пяти групп, у которых наибольшее количество комментариев в comments. Короче говоря, выбрать 5 наиболее популярных в обсуждении групп.
Вот допустим у меня есть таблица с некоторыми данными, к примеру данные о музыкальных альбомах. Там есть поля id, group, album, year, cat и так далее... поле cat (varchar) может содержать как одно слово, так и несколько через пробел... ("metal" или "metalcore deathcore" или "metalcore post-hardcore")... и мне нужно выбрать только уникальные значения ("metalcore","deathcore","metal","post-hardcore"), чтобы сформировать список категорий по жанрам... я так полагаю придется делать запрос к бд на уникальные значения, помещать все в 1 строку добавляя пробелы, експлодить по пробелам и перегонять в массив только уникальные значения...
И вот сам вопрос: если этих альбомов будут сотни, а то и тысячи, то mysql запрос SELECT DISTINCT cat FROM music будет ресурсоемким или он пользует мало ресурсов не зависимо от количества элементов в таблице? Если ресурсоемким, то какие еще варианты предложите по реализации вывода категорий?