anonymous@RULINUX.NET~# Last login: 2025-04-05 00:10:24
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск


[mysql] подскажите запрос

есть одна табличка:

sql
mysql> SELECT * FROM table1;
+----+-------------+---------------------+-----------+
| id | location_id | dt                  | city_name |
+----+-------------+---------------------+-----------+
|  1 |          34 | 2012-01-17 11:00:00 | Kiev      |
|  2 |          34 | 2012-01-17 12:30:00 | Kiev      |
|  3 |          51 | 2012-01-17 10:00:00 | Moskow    |
|  4 |          51 | 2012-01-17 10:35:00 | Moskow    |
+----+-------------+---------------------+-----------+
 


Надо: выбрать записи, в которых максимальная дата по каждому городу. То есть, должно получиться типа того:

sql
+----+-------------+---------------------+-----------+
| id | location_id | max(dt)             | city_name |
+----+-------------+---------------------+-----------+
|  2 |          34 | 2012-01-17 12:30:00 | Kiev      |
|  2 |          51 | 2012-01-17 10:35:00 | Moskow    |
+----+-------------+---------------------+-----------+
 


select id,max(dt), city_name from table1 group by city_name; - не пойдет, потому что он пересчитывает id и они не соответствуют другим полям. Знаю, как с объединением самой с собой сделать, но это как-то несерьезно же...

vitroot(*)(2012-08-08 17:37:45)

Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1
Тема:

Ваш комментарий:

Выберите фильтр: матерные выражения
торсионщина
нацпол
спам
флуд
порно
изображения
модераторские/пользовательские фильтры
captcha
Введите символы либо ответ (если на картинке задача):

Пользователям браузеров без CSS: Поле для проверки, заполнять НЕ НАДО:




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!