У меня есть следующий запрос в MySQL:Проблема с функцией SUM в MySQL
SELECT DISTINCT(A.lineId), A.title, A.label, A.price * OD.quantity FROM Additional A JOIN OrderDetail OD ON A.orderId=OD.orderId WHERE A.orderId=179 ORDER BY A.lineId
http://imagizer.imageshack.us/v2/800x600q90/839/kfzq.png
Все нормально на данный момент, но если я использую функцию SUM над A.price * OD.quantity
, он должен дать мне " 176 ", и не так ли. Смотри:
http://imagizer.imageshack.us/v2/800x600q90/802/kh4f.png
Почему это происходит?
Вам нужно предложение GROUP BY, если вы хотите что-то СУЩЕСТВУЕТ. Я не уверен, что вы хотите подытожить на данный момент ... – ToBe
У меня возникло бы желание дать «A.price * OD.quantity» псевдоним «A.price * OD.quantity AS PQ», чтобы избежать улучшения семантики, как изначально звездочки читаются как умножение, im не уверен, что mysql интерпретирует это как это? Похоже, Linoff знает больше ... – Opentuned
Если вы выходите из «Distinct», данные возвращают суммы 352? –