Привет, У меня есть таблица под названием msgsubjects со схемой, показанной ниже. В основном он содержит сообщения для пользователей. Поле viewstatus используется, чтобы показать, было ли сообщение прочитано/нет. если его 0, msg непрочитано и 1, если сообщение было просмотрено.Как группировать результаты MySQL на основе поля
id int(11) No auto_increment
ownerid int(11) No
posterid int(11) No
viewstatus int(11) No
bodyid int(11) No
subject varchar(255) utf8_general_ci No
date int(11)
Это мой текущий sql, чтобы вытащить эти результаты.
$q=sprintf("SELECT * FROM msgsubjects WHERE ownerid=%d ORDER BY date DESC LIMIT %d,%d",$curid,$start,$end);
Хотите, я хочу сделать, это мои результаты возвращаются сгруппированных имеющие непрочитанные сообщения, отображающиеся первый независимо, я хочу, чтобы группы по-прежнему будут упорядочены по дате. Это можно сделать с помощью sql? Я знаю, что могу сделать это с помощью php, но sql будет более эффективным.
Вы можете использовать 'TINYINT' (1 байт) вместо' INT' (4 байта) для 'viewstatus'. Или даже «BIT» (1 бит). И тип 'DATE' для' 'date' ': http://dev.mysql.com/doc/refman/5.1/en/data-types.html –