更新:混乱して申し訳ありません。「テーブル」は実際のテーブル名ではありませんでした。正しい名前と以下のエラーに関する詳細情報で更新しました。
2 つの列を持つ TrackingNumbers というテーブルがあります。注文ごとに複数の出荷があるため、orderid 列のデータが繰り返されることがあります (データベースは設計しませんでした)。
orderid shipment_cost
1021 5.34
1021 7.83
1022 5.19
1023 5.59
orderid が SQL クエリを使用して繰り返される場合、どのようにすべての shipping_cost 値を追加できますか? したがって、クエリの結果は次のようになります。
orderid shipment_cost
1021 13.17
1022 5.19
1023 5.59
私の最善の推測では、次のようになります。
SELECT orderid, SUM(shipment_cost) FROM TrackingNumbers GROUP BY orderid
しかし、それは私に不特定のSQLエラーを与えます。それが私のクエリなのか、それともばかげた専用アプリなのかはわかりません。アドバイスをありがとう!
更新 2:回答によると、私のクエリは問題ないようでした。また、自分の MySQL サーバーを再確認したところ、問題なく戻ってきました。それはアプリケーションのせい (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
Volusion のサポートが手がかりを提供できるかどうかを確認する必要があると思います. 再度、感謝します!
Update3:もちろん、Volusion のサポートは役に立ちませんが、このクエリは別の SQL サーバーで動作することを伝えましたが、インターフェイスがそれを台無しにしていることが明らかです。ダウンしているデータベースにデータをインポートして、そこで操作する必要があるようです。