Как насчет этого:
SELECT * FROM mytable WHERE nid != 1 ORDER BY nid
GROUP BY
вызывает агрегатный запрос, который вы можете использовать только с функцией агрегирования. Например, SELECT COUNT(*), nid GROUP BY nid
даст вам количество строк с данным nid
.
Обновление: Не уверен, что я вас понимаю, но как насчет этого:
(SELECT * FROM mytable WHERE nid = 1 UNION SELECT * FROM mytable WHERE nid != 1 GROUP BY nid) ORDER BY nid
Я не уверен, что имеет смысл смешивать агрегированные и неагрегированные запросы, хотя - на агрегированной стороне вы просто получите неопределенную репрезентативную строку этой группы.