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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2013, 15:01   #1
carrew
 
Регистрация: 22.05.2013
Сообщений: 6
По умолчанию max в запросе

В чем ошибка в следующем запросе: нужно найти статью у которой больше соавторов.

PHP код:
SELECT a.title FROM id i INNER JOIN Article a ON a.id_article i.id_article  GROUP BY a.title ORDER BY (SELECT MAX(COUNT(i.id_article)) FROM id i); 
Если MAX убрать то будет работать.
carrew вне форума Ответить с цитированием
Старый 22.05.2013, 15:29   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

T-SQL
Код:
SELECT TOP 1 a.title,COUNT(i.id_article)
  FROM id i INNER JOIN Article a ON a.id_article = i.id_article
  GROUP BY a.title
  ORDER BY 2 DESC
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.05.2013, 16:11   #3
carrew
 
Регистрация: 22.05.2013
Сообщений: 6
По умолчанию

В оракле вот так работает:
PHP код:
SELECT  a.title,COUNT(i.id_articleFROM id i INNER JOIN Article a ON a.id_article i.id_article GROUP BY a.title ORDER BY 2 DESC 
А если нада получить одну запись из наибольшим COUNT(I.ID_ARTICLE). То как тогда ?
carrew вне форума Ответить с цитированием
Старый 22.05.2013, 16:38   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

http://www.orafaq.com/faq/how_does_o...s_from_a_table
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.05.2013, 02:42   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

Цитата:
Сообщение от carrew Посмотреть сообщение
В чем ошибка в следующем запросе: нужно найти статью у которой больше соавторов.
По правилам такой запрос пишется с использованием having:
Код:
SELECT a.title FROM id i
INNER JOIN Article a ON a.id_article = i.id_article
GROUP BY a.title 
HAVING COUNT(i.id_article) = MAX(COUNT(i.id_article))
Vapaamies вне форума Ответить с цитированием
Старый 23.05.2013, 02:45   #6
taniushska
Новичок
Джуниор
 
Регистрация: 23.05.2013
Сообщений: 5
По умолчанию

Конечно с having...
taniushska вне форума Ответить с цитированием
Старый 23.05.2013, 08:27   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
MAX(COUNT(i.id_article))
Хотел бы посмотреть как это отработает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
списке целых чисел все элементы между max и min заменить полусуммой max и min Roman one C/C++ Базы данных 0 20.12.2012 12:14
3d max cashmail Софт 2 20.10.2011 16:57
определить значения выражения z=max (a,2b)*max(2a-b,b)(алгоритм функция) анжелка Паскаль, Turbo Pascal, PascalABC.NET 2 04.04.2011 08:53
Матрица Min-Max и Max-Min boog Помощь студентам 3 23.12.2010 13:19