ОБНОВЛЕНИЕ: извините за замешательство. «table» не было моим фактическим именем табуляции, я обновил его с правильным именем, а также больше информации об ошибке ниже.SQL-запрос для объединения дубликатов и суммы
У меня есть таблица под названием TrackingNumbers с двумя столбцами. Данные колонки OrderID иногда повторяется, поскольку есть несколько партий в порядке (я не проектировал базу данных):
orderid shipment_cost
1021 5.34
1021 7.83
1022 5.19
1023 5.59
Как я могу добавить все значения shipment_cost когда OrderID повторяется с помощью запроса SQL? Поэтому я хотел бы результаты запроса выглядеть следующим образом:
orderid shipment_cost
1021 13.17
1022 5.19
1023 5.59
Мое предположение, что это звучит примерно так:
SELECT orderid, SUM(shipment_cost) FROM TrackingNumbers GROUP BY orderid
Но это дает мне Неизвестная ошибка SQL. Не уверен, что это мой запрос или глупое проприетарное приложение. Спасибо за любой совет!
UPDATE 2: Так появляется мой запрос был в порядке в соответствии с ответами и я дважды проверил на своем сервере MySQL, возвращается OK. Это должна быть ошибка приложения (Volusion). У них есть дрянной маленький интерфейс для запуска пользовательских отчетов, и он, похоже, завершает мой SQL-запрос дополнительными материалами. Погрешность от Volusion:
SQL Error: SELECT * ,17041 as RecordCount
FROM (SELECT TOP 10 *
FROM (SELECT TOP 10 orderid, SUM(shipment_cost)
FROM TrackingNumbers
GROUP BY orderid ORDER BY)
SUBSEL ORDER BY)
PAGESEL ORDER BY
А если добавить ORDER BY как
SELECT orderid, SUM(shipment_cost)
FROM TrackingNumbers
GROUP BY orderid
ORDER BY orderid ASC
, так это то, что он, кажется, он хочет:
SQL Error: SELECT * ,17041 as RecordCount
FROM (SELECT TOP 10 *
FROM (SELECT TOP 10 orderid, SUM(shipment_cost)
FROM TrackingNumbers
GROUP BY orderid
ORDER BY orderid ASC)
SUBSEL ORDER BY orderid DESC)
PAGESEL ORDER BY orderid ASC
Guess мне придется увидеть, если Volusion-х поддержка может предоставить любые подсказки. Еще раз спасибо!
Update3: Конечно поддержка Volusion не приносит никакой пользы, даже если я сказал им, что этот запрос работает на другом сервере SQL, и это очевидно, их интерфейс коверкая его. Похоже, мне придется импортировать данные в мою базу данных вниз и манипулировать им там.
Если это ваш точный запрос, вам нужно бежать 'table', так что это SQL ключевое слово. –
Ваш запрос выглядит хорошо для меня, какова ваша полная ошибка SQL? Это может быть вызвано чем-то другим. – Nick
@Nick: Если я правильно понимаю OP, им должно быть запрещено видеть полное сообщение об ошибке «глупым проприетарным приложением». –