Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Запрос с получением уникальных строк (gidrosoldat) 13/01/2011 - 21:23:12
      Re: Запрос с получением уникальных строк (bac) 14/01/2011 - 23:18:54

> Original message text:
> From: gidrosoldat - 13/01/2011 - 21:23:12
> Subject:Запрос с получением уникальных строк
> -----------------
> Доброе время суток, требуется помощь в формировании запроса к БД. Ситуация такая есть таблица значений с тремя столбцами number, date и string.В столбце date даты, все разные, в столбце number числа, которые время от времени повторяются, столбик string содержит разные значения.
> Пример:
> 1 | 2011-01-12 22:35:21 | string1
> 1 | 2011-01-12 22:36:17 | string2
> 6 | 2011-01-12 22:37:39 | string3
> 3 | 2011-01-12 22:38:13 | string4
> 4 | 2011-01-12 22:38:41 | string5
> 6 | 2011-01-12 22:39:14 | string6
>
> Задача: выбрать из этих трех столбцов таблицу данных с уникальными значениями number с самыми поздними значениями date и соответцтвующие им значения string.
>
> Результат должен быть таким:
>
> 1 | 2011-01-12 22:36:17 | string2
> 3 | 2011-01-12 22:38:13 | string4
> 4 | 2011-01-12 22:38:41 | string5
> 6 | 2011-01-12 22:39:14 | string6
>
> Без 3 столбца все было бы проще:
>
> 'SELECT `number`, MAX(`date`) AS `mxd`
> `date`
> FROM `table`
> GROUP BY `number`
> ORDER BY `mxd`
> А вот, как к mxd соответствующий string прилепить, ума не приложу.
>
>
>


From: bac - 14/01/2011 - 23:18:54
Subject:Запрос с получением уникальных строк
-----------------
create table tt (
n integer,
d datetime,
s varchar(20)
);

insert into tt values
(1, '2011-01-12 22:35:21', 'string1'),
(1, '2011-01-12 22:36:17', 'string2'),
(6, '2011-01-12 22:37:39', 'string3'),
(3, '2011-01-12 22:38:13', 'string4'),
(4, '2011-01-12 22:38:41', 'string5'),
(6, '2011-01-12 22:39:14', 'string6');

SELECT n, MAX(d) m, s FROM (
SELECT * FROM tt ORDER BY d desc
) s
GROUP BY `n`
ORDER BY `m`


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37842



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |