У меня есть следующая таблица, которая содержит следующие данные:
http://img513.imageshack.us/img513/9039/mycities.png
Оператор CREATE и вставки имеют значение http://snipt.org/xoKl.
Таблица представляет собой список городов, и каждый город принадлежит области и стране, и у каждого города есть дата основания. Цель здесь - получить для каждой пары «Страна / Регион» список самых старых городов. Нам нужен самый старый город на восточном побережье Канады, самый старый город на западном побережье США и так далее ...
Запрос, который я сейчас использую:
SELECT * FROM MyCities
INNER JOIN
(SELECT Country, Region, MIN(FoundingDate) AS CityFoundingDate
FROM MyCities
GROUP BY Country, Region ) AS subquery
ON subquery.CityFoundingDate = MyCities.FoundingDate
AND MyCities.Country = subquery.Country
AND MyCities.Region = subquery.Region
Я просто хочу знать , есть ли другие способы написать эту группу по запросу или нет. : -)
Этот запрос эффективен или нет?
С нетерпением жду обсуждения.