SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.04.2019 15:57:45

Lugner32
Завсегдатай
Зарегистрирован: 04.04.2019
Сообщений: 25

И снова я со своими задачами :)

Помогите плиз с очередной задачей по теме "Вложенные запросы"

Вот сама задача:В таблице orders хранятся заказы пользователей, а в users непосредственно сами пользователи. Получите информацию о пользователях, которые сделали самые дорогие заказы.
Учитывайте только завершенные заказы.

orders
id    user_id    date    amount    status
1    3    2014-01-23 17:04:04    4500    completed
2    1    2014-03-12 12:12:43    700    completed
3    10    2014-12-31 08:53:25    1240    new
4    7    2015-01-04 18:23:09    500    completed
5    1    2015-01-04 18:25:27    8700    cancelled
6    4    2015-01-12 09:23:14    1350    completed
7    10    2015-01-14 17:16:39    600    new
8    1    2015-02-01 13:32:17    680    completed
9    3    2014-02-16 14:44:05    1400    completed
10    5    2015-02-28 02:00:47    4300    cancelled
11    10    2015-03-12 08:30:23    8000    completed
12    2    2015-04-01 13:04:47    980    completed
13    2    2015-04-14 23:21:25    1600    completed
users
id    first_name    last_name    age
1    Вероника    Петрова    20
2    Светлана    Иванова    17
3    Елена    Абрамова    18
4    Василиса    Кац    15
5    Алёна    Сорокина    22
6    Алёна    Федькова    28
7    Лиана    Сорокин    21
8    Карина    Белая    30
9    Анастасия    Дейчман    16
10    Юлия    Фёдорова    25

Одно из неверных решений:
SELECT * FROM users WHERE id IN(
    SELECT amount FROM orders WHERE amount = (
        SELECT MAX(amount)FROM orders WHERE status='completed')
    );
помогите исправиться smile

Отредактированно Lugner32 (25.04.2019 15:59:36)

Неактивен

 

#2 25.04.2019 20:36:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5601

Re: И снова я со своими задачами :)

на сайте есть интересные статьи smile

в одной из них целых 5 решений вашей задачи, см Группировка в MySQL

ошибка у вас в
  id IN(
    SELECT amount

Неактивен

 

#3 26.04.2019 00:59:48

Lugner32
Завсегдатай
Зарегистрирован: 04.04.2019
Сообщений: 25

Re: И снова я со своими задачами :)

vasya написал:

на сайте есть интересные статьи smile

в одной из них целых 5 решений вашей задачи, см Группировка в MySQL
Спасибо, почитаю обязательно.
ошибка у вас в
  id IN(
    SELECT amount

«Поколдую» думаю получится)))

А в целом Спасибо огромное за помощь. Не первый раз меня выручаете. Я на этом курсе решил уже 250 задач из 260. И решение некоторых удалось благодаря Вашей помощи. Ещё раз СПАСИБО!! smile smile wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson