imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 02.06.2005, 13:26     # 1
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
MySQL. Вопрос.

Постановка задачи.
Есть отношение "Книги". Среди всего прочего есть атрибут "Количество страниц". Требуется написать запрос (под MySQL), который возвращал бы наибольшее число книжек с одинаковым числом страниц.

Мой вариант:
SELECT MAX(kol) FROM
SELECT COUNT(id_Books) AS kol FROM A GROUP BY kol_stranic";

Причем подзапрос "SELECT COUNT(id_Books) AS kol FROM A GROUP BY kol_stranic" работает верно, а на запрос выше система выдает ошибку.

Как правильно?
Trotil вне форума  
Старый 02.06.2005, 13:33     # 2
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Trotil
Попробуй запрос с COUNT отсортировать (ORDER BY) и указать пределы выборки (LIMIT):
Код:
SELECT COUNT(id_Books) AS kol FROM A GROUP BY kol_stranic ORDER BY 1 DESC LIMIT 0,1;
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!

Последний раз редактировалось Ghost; 02.06.2005 в 13:36. Причина: чертов Сайгон...
Ghost вне форума  
Старый 03.06.2005, 03:17     # 3
knight
Junior Member
 
Регистрация: 12.09.2004
Сообщения: 106

knight Известность не заставит себя ждатьknight Известность не заставит себя ждать
Исторически так сложилось что MySql не поддерживал подзапросы.Приходится например использовать LIMIT для решения данной проблемы
knight вне форума  
Старый 03.06.2005, 05:05     # 4
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Цитата:
Сообщение от knight
Исторически так сложилось что MySql не поддерживал подзапросы.Приходится например использовать LIMIT для решения данной проблемы
Начиная с четвертой версии MySql поддерживает подзапросы. Например, такой запрос:
Код:
SELECT Id_Marshrut FROM
   marshrut  WHERE marshrut.passazhiropotok*marshrut.kol_reisov=(SELECT MAX(marshrut.passazhiropotok*marshrut.kol_reisov) AS max FROM
   marshrut)
у меня выполнился без проблем. (поиск маршрутов по MAX значению passazhiropotok*kol_reisov)
Trotil вне форума  
Старый 08.06.2005, 01:52     # 5
knight
Junior Member
 
Регистрация: 12.09.2004
Сообщения: 106

knight Известность не заставит себя ждатьknight Известность не заставит себя ждать
Спасибо большое. Я знаю я указал тот способ, который я обычно использовал.
knight вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:58.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.