【发布时间】:2014-02-28 00:38:11
【问题描述】:
我只想计算唯一 ID 的总和和计数。
SELECT COUNT(orders.id), SUM(orders.total), SUM(orders.shipping) FROM "orders"
INNER JOIN "designer_orders" ON "designer_orders"."order_id" = "orders"."id"
WHERE (designer_orders.state = 'pending' OR
designer_orders.state = 'dispatched' OR
designer_orders.state = 'completed')
- 仅对唯一的订单 ID 执行此操作。
- 仅当orders.id 唯一时才添加orders.total。运输也是如此。
- 避免添加重复项。
例如,orders 表内连接designer_orders 表:
OrderId Total Some designer order column
1 1000 2
1 1000 3
1 1000 5
2 100 7
3 133 8
4 1000 10
4 1000 20
在这种情况下:
- 订单数应为 4。
- 订单总数应为 2233。
架构:
- 一个订单有多个设计师订单。
- 一个设计师订单只有一个订单。
【问题讨论】:
-
到目前为止,您提供的信息无法回答您的问题
-
@Alexander 还需要什么。请说明
-
CREATE for your tables and sampleINSERT`s -
这仍然很不清楚,IMO。你能创建一个 SQLfiddle 来演示你的场景吗?
-
@ChrisFarmer 只需检查更新。如果您仍然觉得您需要小提琴,请告诉我
标签: sql postgresql join aggregate-functions exists