SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 08.01.2013 16:06:08

new_saler
Участник
Зарегистрирован: 14.11.2012
Сообщений: 23

Выбор всех данных из строк с максимальным значением в группах

Пытаюсь сам написать форум.

Нужно написать запрос, который выводит все данные для формирования Главной страницы форума.
Конкретно:
Есть таблица themes – в ней следующие поля (названия полей на рус. языке здесь для удобства):
Id_темы
Id_раздела
Название_темы
Автор_последнего_сообщения_в_теме
Id_последнего_сообщения_в_теме
1 |  4  | Тема1 |  sasha    | 12
2 |  5  | Тема2 |  misha   |  9
3 |  1  | Тема3 |  dasha   |  23
4 |  4  | Тема4 |  denis    |  14
5 |  2  | Тема5 |  kiril       |  11
6 |  5  | Тема6 |  pavel    |  47
7 |  5  | Тема7 |  nelli      |  22
8 |  2  | Тема8 |  piter     |  19
9 |  1  | Тема9 |  dorati   |  15

Для формирования главной страницы форума мне нужно выбрать из этой таблицы сроки по одной для каждого раздела в которой максимально  Id_последнего_сообщения_в_теме для этого раздела.
Сделал только вот такой запрос:

SELECT Id_раздела, MAX(Id_последнего_сообщения_в_теме) FROM themes GROUP BY Id_раздела

Запрос выводит раздел и максимальный  Id_последнего_сообщения_в_теме для этого раздела:
4 | 14
5 | 47
1 | 23
2 | 19
Но мне нужно, чтобы запрос выводил еще и остальные данные для этих строк: Id_темы, Название_темы, Автор_последнего_сообщения_в_теме.
Но не могу додуматься как это сделать.



Комментарий модератора.
См выбрать строки с максимальным значением в группах
В этой статье приведено 5 вариантов решения вашей задачи в один запрос.

Отредактированно new_saler (09.01.2013 17:26:48)

Неактивен

 

#2 08.01.2013 18:43:47

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

Re: Выбор всех данных из строк с максимальным значением в группах

FAQ №16

Неактивен

 

#3 09.01.2013 06:44:24

ita
Участник
Зарегистрирован: 24.09.2008
Сообщений: 19

Re: Выбор всех данных из строк с максимальным значением в группах

SELECT Id_раздела, Id_темы, Название_темы, MAX(Id_последнего_сообщения_в_теме),
FROM themes
GROUP BY Id_темы,Название_темы,Id_раздела

Неактивен

 

#4 09.01.2013 17:28:48

new_saler
Участник
Зарегистрирован: 14.11.2012
Сообщений: 23

Re: Выбор всех данных из строк с максимальным значением в группах

vasya, спасибо, буду изучать.

Неактивен

 

Board footer

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