Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2013, 19:01   #1
пАк777
 
Регистрация: 16.06.2011
Сообщений: 8
Вопрос Составление MySQL запроса с сложной сортировкой

Имеется таблица `posts` и таблица `faves`. В таблице posts содержится список постов в блоге (структура id|name|content|timestamp ), а в таблице faves содержится список пользователей добавивших пост в закладки. То есть примерно так.
----------------------------
|id поста | id пользователя |
---------|------------------
| 3 | 1 |
---------|------------------
| 3 | 2 |
---------|------------------
| 3 | 3 |
----------------------------
Так вот, нужно отсортировать список постов по числу пользователей добавивших его в закладки.
Как вариант( знаю что не работает, просто пытаюсь по лучше объяснить)
PHP код:
'SELECT * FROM `posts` ORDER BY (SELECT COUNT(*) FROM `faves` WHERE `id поста`=`id`)' 
Надеюсь вы поняли что я пытаюсь сделать и поможете мне в это беде
пАк777 вне форума Ответить с цитированием
Старый 27.01.2013, 19:34   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
SELECT id,name,content,timestamp,
    (SELECT COUNT(*) FROM `faves` WHERE `id поста`=`id`) AS CountUser  
  FROM `posts` 
  ORDER BY 5
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.01.2013, 19:35   #3
пАк777
 
Регистрация: 16.06.2011
Сообщений: 8
Радость

Всё, решение найдено. Ловите, может пригодится.
PHP код:
SELECT a . * , COUNTb.idp 
FROM posts a
JOIN fave b ON b
.idp a.id
GROUP BY a
.id
ORDER BY  
`COUNT(b.idp)DESC 
пАк777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составление сложного запроса. Lazio SQL, базы данных 1 16.12.2011 18:48
Составление запроса Айдар Работа с сетью в Delphi 0 21.10.2010 19:42
Составление SQL запроса для MySQL Яр|/||< (^_^) SQL, базы данных 4 10.06.2010 13:28
составление последовательного запроса Lord777 SQL, базы данных 2 23.05.2010 11:48
Составление запроса по звонкам (доработка) Tanusha SQL, базы данных 2 30.09.2008 11:08