Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
сортировка по повторяющимся значениям (Наталья) 30/08/2011 - 08:59:34
      Re: сортировка по повторяющимся значениям (Akina) 30/08/2011 - 13:28:53
      Re: сортировка по повторяющимся значениям (Наталья) 30/08/2011 - 16:27:16
      Re: В студию, плиз: (Akina) 30/08/2011 - 19:46:38
      Re: В студию, плиз: (Наталья) 31/08/2011 - 13:58:33
      Re: Done (Akina) 31/08/2011 - 18:34:42
      Re: Done (Наталья) 04/09/2011 - 15:07:33

> Original message text:
> From: Наталья - 30/08/2011 - 08:59:34
> Subject:сортировка по повторяющимся значениям
> -----------------
> Есть таблица в которой содержатся в одном столбце id фильмов, в другом id юзеров, посмотревших эти фильмы. Нужно выбрать все фильмы, которые посмотрел юзер id1, но отсортировать их так, чтобы сначала выводились фильмы, общие с юзером id2 (то есть которые id2 тоже посмотрел)
> Помогите, пожалуйста, с запросом!
>


From: Akina - 31/08/2011 - 18:34:42
Subject:Done
-----------------
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test
Database changed
mysql> CREATE TABLE `seen_films` (
-> `id` INT NOT NULL AUTO_INCREMENT ,
-> `film_id` INT NOT NULL ,
-> `user_id` INT NOT NULL ,
-> PRIMARY KEY ( `id` )
-> );
Query OK, 0 rows affected (0.09 sec)

mysql> INSERT INTO `seen_films` (`film_id` , `user_id` )
-> VALUES (10, 1), (10, 2),(11,1),(12,2),(13,1),(14,2),(14,1),(15,1),(15,2),(16,1),(17,1),(18,1),(19,1),(20,1),(20,2);
Query OK, 15 rows affected (0.05 sec)
Records: 15 Duplicates: 0 Warnings: 0

mysql> select * from seen_films;
+----+---------+---------+
| id | film_id | user_id |
+----+---------+---------+
| 1 | 10 | 1 |
| 2 | 10 | 2 |
| 3 | 11 | 1 |
| 4 | 12 | 2 |
| 5 | 13 | 1 |
| 6 | 14 | 2 |
| 7 | 14 | 1 |
| 8 | 15 | 1 |
| 9 | 15 | 2 |
| 10 | 16 | 1 |
| 11 | 17 | 1 |
| 12 | 18 | 1 |
| 13 | 19 | 1 |
| 14 | 20 | 1 |
| 15 | 20 | 2 |
+----+---------+---------+
15 rows in set (0.01 sec)

mysql> select t1.user_id,t1.film_id
-> from seen_films t1
-> left join seen_films t2
-> on (t1.film_id=t2.film_id and t2.user_id=2)
-> where t1.user_id=1
-> order by coalesce(t2.user_id,0) desc;
+---------+---------+
| user_id | film_id |
+---------+---------+
| 1 | 10 |
| 1 | 14 |
| 1 | 15 |
| 1 | 20 |
| 1 | 11 |
| 1 | 13 |
| 1 | 16 |
| 1 | 17 |
| 1 | 18 |
| 1 | 19 |
+---------+---------+
10 rows in set (0.00 sec)

mysql>















[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
40522



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |