Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как отсортировать данные из разных таблиц?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Extazy
Отправлено: 30 Марта, 2011 - 20:42:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Имеется 2 таблицы.
table1:
id, name
1, user_name1
2, user_name2
3, user_name3

table2:
id, zametka, name
1, blabla, user_name3
2, ololo, user_name2
3, grrrr, user_name3

Требуется вывести список всех имён, рядом кол-во заметок и этот список имён отсортировать по кол-ву заметок у каждого пользователя. То есть первым стоит то имя, у которого больше всего заметок.

Если плохо объяснил, то вот может эта запись объяснит лучше. что мне надо.

print mysql_result("SELECT name FROM table1 sort by sum(zametka) FROM table2")


Не знаю как это сделать - помогите, пожалуйста.
 
 Top
altermann
Отправлено: 30 Марта, 2011 - 22:41:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010  
Откуда: Днепропетровск


Помог: 6 раз(а)




Попробуйте так:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `login`, (SELECT count(*) FROM `stroytec`.`automatic` AS a WHERE a.uid=u.uid) AS summa
  2. FROM `stroytec`.`users` AS u ORDER BY summa DESC;

(Отредактировано автором: 30 Марта, 2011 - 22:42:41)



-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
Extazy
Отправлено: 30 Марта, 2011 - 22:42:22
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




от Вас пришло пустое сообщение..
 
 Top
altermann
Отправлено: 30 Марта, 2011 - 22:43:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010  
Откуда: Днепропетровск


Помог: 6 раз(а)




Да Улыбка, привычка от мессенжеров перевод строки Ctrl+Enter, а тут он отправляет


-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
HotBird
Отправлено: 30 Марта, 2011 - 22:57:59
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




Примерно так:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT name, COUNT(table2.name) AS cnt FROM table1 LEFT JOIN table2 USING (name) ORDER BY cnt DESC


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB