Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка таблицы относительно другой
 
 автор: Alexx   (11.05.2006 в 13:57)   письмо автору
 
 

Есть две таблицы users и coments
Нужно отсортировать пользоватлей в таблице users по количеству сообщений в таблице coments

Пример таблицы users
id name ...
1 admin
2 alexx
...
Пример таблицы coments
id mes user...
1 hello 1
2 where ? 1
3 i am.. 2
...

   
 
 автор: Trianon   (11.05.2006 в 15:15)   письмо автору
 
   для: Alexx   (11.05.2006 в 13:57)
 


SELECT users.id as id, users.name as name
  FROM users JOIN coments ON users.id = coments.user
  ORDER BY mes;

   
 
 автор: Alexx   (11.05.2006 в 15:46)   письмо автору
 
   для: Trianon   (11.05.2006 в 15:15)
 

>

>SELECT users.id as id, users.name as name
>  FROM users JOIN coments ON users.id = coments.user
>  ORDER BY mes;
>



А можно с расшифровкой?

   
 
 автор: Trianon   (11.05.2006 в 16:21)   письмо автору
 
   для: Alexx   (11.05.2006 в 15:46)
 

1. Поскольку данные требуются из одной таблицы, а критерии сортировки размещены в другой, необходимо создать общую таблицу, которая имела бы все столбцы из обеих исходных таблиц, и содержала бы все строки соответствия пользователей.
Такая таблица называется внутренним соединением по условию users.id = coments.user и записывается как users JOIN coments ON users.id = coments.user .
2. Из этой таблицы уже можно извлекать данные, сортируя строки по нужному критерию ORDER BY mes .
3. В конечном итоге требуются нам поля users.id и users.name под оригинальными именами: SELECT users.id as id, users.name as name .

   
 
 автор: Alexx   (11.05.2006 в 21:30)   письмо автору
 
   для: Trianon   (11.05.2006 в 16:21)
 

Хорошо. с этим я вроде разобрался, а как отсортировать пользоватлей по количеству сообщений. Тоесть нужно посчитать сообщения и по ним уже отсортировать?

   
 
 автор: Alexx   (13.05.2006 в 16:30)   письмо автору
 
   для: Alexx   (11.05.2006 в 13:57)
 

ап

   
 
 автор: Trianon   (13.05.2006 в 23:08)   письмо автору
 
   для: Alexx   (13.05.2006 в 16:30)
 

Можно подумать, Вы сообщили, где у Вас лежат сообщения, или хотя бы информация об их количестве.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования