|
|
|
| Подскажите, кто уже сталкивался...
Нужно вывести из таблицы сообщений имена их авторов, но у многих авторов есть по несколько сообщений. Как сделать вывод авторов без повторов, например: Аня, Петя, Вася...
echo "Сегодня сообщения оставляли:";
$spisok=mysql_query("select * from message order by `date` desc");
$kk=mysql_num_rows($spisok);
for($i=0;$i<=$kk; $i++){
$name=mysql_result($spisok, $i, 'name');
echo "$name<br>";
}
|
Но так выводит имена по несколько раз если у кого-то несколько сообщений (типа: Аня, Аня, Петя, Вася, Вася., Вася..). Как без повторов + с исключением имени "Дима", если есть ????
HELP! | |
|
|
|
|
|
|
|
для: Владимир22
(16.06.2007 в 18:09)
| | | |
|
|
|
|
|
|
|
для: mr Bin
(16.06.2007 в 18:27)
| | А можно пример? | |
|
|
|
|
|
|
|
для: Владимир22
(16.06.2007 в 18:09)
| |
SELECT column,SUM(column) FROM table GROUP BY column
|
или
SELECT * FROM table GROUP BY column
|
column - колонка, в которой НЕ нужно выводить повторы. | |
|
|
|
|
|
|
|
для: mr Bin
(16.06.2007 в 20:15)
| | Спасибо, mr Bin!
Вот сделал:
echo "Сегодня сообщения оставляли:";
$spisok=mysql_query("select * from message GROUP BY `name` order by `date` desc");
$kk=mysql_num_rows($spisok);
for($i=0;$i<=$kk; $i++){
$name=mysql_result($spisok, $i, 'name');
echo "$name<br>";
}
|
Всё отлично - повторений нет, но выводит в непонятном порядке. Надо, чтобы выводило по наибОльшей дате сообщений, т.е. у Пети 5 сообщений, значит вывести "Петя" по дате последнего его сообщения и так весь список сгрупироватьи вывести все имена по дате их последних сообщений. Как такое сделать? | |
|
|
|
|
|
|
|
для: Владимир22
(19.06.2007 в 01:46)
| | Повторений нет, но выводит в непонятном порядке. Надо, чтобы выводило по наибОльшей дате сообщений, т.е. у Пети 5 сообщений, значит вывести "Петя" по дате последнего его сообщения и так весь список сгрупироватьи вывести все имена по дате их последних сообщений. Как такое сделать, кто подскажет? | |
|
|
|
|
|
|
|
для: Владимир22
(20.06.2007 в 12:06)
| | >Повторений нет, но выводит в непонятном порядке.
Вероятно , Вы храните дату сообщения в столбике с неподходящим типом. Или помещаете в него неправильные данные.
Кстати, из двух вариантов запроса mr_Bin Вы выбрали не более правильный, а более опасный. | |
|
|
|
|
|
|
|
для: Владимир22
(19.06.2007 в 01:46)
| | Повторений нет, но выводит в непонятном порядке. Надо, чтобы выводило по наибОльшей дате сообщений, т.е. у Пети 5 сообщений, значит вывести "Петя" по дате последнего его сообщения и так весь список сгрупироватьи вывести все имена по дате их последних сообщений. Как такое сделать, кто подскажет? | |
|
|
|
|
|
|
|
для: Владимир22
(20.06.2007 в 12:07)
| | Странно, кто-то продублировал мою старую запись якобы от моего имени...
Все даты хранятся правильно, так как без GROUP выводит всё чётко.
Trianon, а как с первым вариантом mr. Bina можно сделать мой код?
И где можно найти толковый учебник по запросам MySQL, чтобы с примерами и разжёвывалось всё для чайников? | |
|
|
|
|
|
|
|
|
для: Владимир22
(20.06.2007 в 19:25)
| | Вы можете ориентироваться на официальное руководство по MySQL http://www.softtime.ru/info/mysql40_ru.php - только лучше начинать с 3 главы - там очень хороший турториал. | |
|
|
|