2010-04-26 2 views
4

запроса в системе я поддерживаю возвратвыбрать отчетливую более конкретные столбцы

QID AID DATA 
1 2 x 
1 2 y 
5 6 t 

В соответствии с новым требованием, я не хочу (QID, AID) = (1,2) пару, чтобы быть повторен. Нам также не важно, какое значение выбрано из столбца «данные». либо x, либо y.

То, что я сделал это, чтобы вложить исходный запрос, как этот

SELECT * FROM (<original query text>) Results group by QID,AID 

Есть ли лучший способ пойти по этому поводу? Оригинальный запрос использует несколько объединения и союзы, а что нет, поэтому я предпочел бы не трогать его, если его абсолютно necesary

ответ

2

Если вы не заботитесь, который DATA будет выбраны, GROUP BY хорошо, хотя с помощью несгруппированных и неагрегированных столбцов в редакции SELECT оговорки GROUP BY составляет MySQL, а не переносной.

+0

erm как определенная группа по MySQL? Я, как 99,9% уверен, что это часть стандарта SQL. Если дело не в почти каждой реализации. – xenoterracide

+1

@xenoterracide: стандарт SQL не позволяет использовать негруппированные столбцы в предложении SELECT. Этот запрос (с '*') потерпел бы неудачу в любом движке, кроме 'MySQL'. – Quassnoi

+0

так что будет стандартным решением sql в этом случае? – Midhat

Смежные вопросы