Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: выбрать несколько максимальных значений из одной таблицы
 
 автор: sl1p   (20.01.2010 в 08:02)   письмо автору
 
 

есть таблица
`t1`

в ней поля
`t1`.`id_topic`
`t1`.`position`


как выбрать в одном запросе все максимальные значения поля `position` учитывая поле `id_topic`?

  Ответить  
 
 автор: Trianon   (20.01.2010 в 08:46)   письмо автору
 
   для: sl1p   (20.01.2010 в 08:02)
 

Как может быть максимумов - несколько? Максимум всегда один, если значения вообще есть.
Что значит "учитывая"?

  Ответить  
 
 автор: sl1p   (20.01.2010 в 10:14)   письмо автору
 
   для: Trianon   (20.01.2010 в 08:46)
 

ну например так:

#id_topic = 1#
position = 1
position = 2
position = 3

нужно получить 3 тоесть максимальное значение поля id_topic

#id_topic = 2#
position = 1
position = 2
position = 3
...
position = 10

нужно получить 10

и так нужно получить все макс позиции по всем DISTINCT id_topic
это всё в одной таблице.. вот.

  Ответить  
 
 автор: Trianon   (20.01.2010 в 10:22)   письмо автору
 
   для: sl1p   (20.01.2010 в 10:14)
 

Это типичный агрегатный (поскольку MAX(position)) группирующий (поскольку по каждому id_topic своя выборка) запрос.
DISTINCT писать не нужно. Достаточно написать GROUP BY id_topic .

SELECT id_topic, MAX(position) 
  FROM t1 
  GROUP BY id_topic

  Ответить  
 
 автор: sl1p   (20.01.2010 в 10:58)   письмо автору
 
   для: Trianon   (20.01.2010 в 10:22)
 

дистинкт я имел ввиду просто для объяснения :)
спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования