powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос в запросе
4 сообщений из 4, страница 1 из 1
запрос в запросе
    #32327882
pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблица `air`:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 
         _________________
         | cat  | speed |type|
          ------+------+----+
 
         |   1    |  100    | jet |
         |   3    |  120    | jet |
         |   3    |  182    | jet | 
         |   2    |  142    | jet | 
         |   1    |  110    | jet | 
         |   2    |  122    | jet | 
         |   3    |   98     |prop|
         |   3    |   128    |prop|
         |   4    |   198    |prop|
         |   3    |   178    |prop|
         |   2    |   200    |prop|
         ..............................

необходимо выбрать из такой таблицы для каждого `type` и `cat` максимальный `speed`.
т.е. для type=jet cat=1 max(speed)=110
type=jet cat=2 max(speed)=142
type=jet cat=3 max(speed)=182
type=prop cat=3 max(speed)=178
type=prop cat=4 max(speed)=198
type=prop cat=2 max(speed)=200

пишу запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select * from air
where 
cat='jet' and type = 1  and speed=(select max(speed) from air where cat='jet' and type= 1 ) or
cat='jet' and type = 2  and speed=(select max(speed) from air where cat='jet' and type= 2 ) or
cat='jet' and type = 3  and speed=(select max(speed) from air where cat='jet' and type= 3 ) or
cat='prop' and type = 3  and speed=(select max(speed) from air where cat='prop' and type= 3 ) or
cat='prop' and type = 4  and speed=(select max(speed) from air where cat='prop' and type= 4 ) or
cat='prop' and type = 2  and speed=(select max(speed) from air where cat='prop' and type= 2 );


Запрос почему-то не выполняется. Версия MySQL 3.23.53.
В чем ошибка и можно ли упростить запрос не используя другой таблицы.
...
Рейтинг: 0 / 0
запрос в запросе
    #32327929
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему нельзя

select type,cat,max(speed), group by type,cat ?
...
Рейтинг: 0 / 0
запрос в запросе
    #32327991
pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Хрен: У-у-у шаман. Прокатило

Ну а почему запрос в запросе не работает. Причем любой, типа:
select a from table1 where a=(select a from table1 where a=1)
...
Рейтинг: 0 / 0
запрос в запросе
    #32327994
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что subselects в mysql поддерживаются начиная с версии 4.1. Которая все еще альфа. Проверь свою версию

select version();
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]