2015-05-18 4 views
0

То, что я пытаюсь сделать, - это запросить все уникальное название района из базы данных и по каждому имени района, получить его соответствующие MIN и MAXID.Использование результата во внешнем запросе во внутреннем запросе

Вот что я прямо сейчас:

SELECT DISTINCT DISTRICTNAME, 
(SELECT MIN(`ID`) 
    FROM [DATABASE_NAME] 
     WHERE DISTRICTNAME = DISTRICTNAME) AS 'MIN', 
(SELECT MAX(`ID`) 
    FROM [DATABASE_NAME] 
     WHERE DISTRICTNAME = DISTRICTNAME) AS 'MAX' 
FROM [DATABASE_NAME] 
WHERE [CONDITION] 
ORDER BY DISTRICTNAME; 

Проблема: MIN и MAX столбец показывает то же значение. Я не совсем уверен в статье WHERE моего внутреннего запроса. Я думаю, что это проблема.

Помощь?

+0

Вы должны указать внешний DISTRICTNAME в условиях суб-quries. Кроме того, вы действительно используете MySQL здесь, с квадратными скобками для идентификаторов с разделителями ... – jarlh

ответ

3

Попробуйте этот запрос с GROUP BY п

SELECT DISTRICTNAME, MIN(`ID`) AS 'MIN', MAX(`ID`) AS 'MAX' 
FROM [DATABASE_NAME] 
WHERE [CONDITION] 
GROUP BY DISTRICTNAME 
ORDER BY DISTRICTNAME;; 
Смежные вопросы