1

我浏览了这个论坛和其他人的许多帖子,我找不到与我需要的类似的解决方案。

我写了几个简单的查询,以便我们可以从我们的数据库中获得一些财务统计信息......但是,这个,我似乎无法确定......

从这个查询中,我从他们与我们一起放置的每个 InsuranceCarrier 和 NumberOfOrders 中获得 TotalRevenue ......但是在这个特定的查询中,我需要将 TotalRevenue 除以 NumberOfOrders,并给“ORDER BY”一个 AverageTicket 否则回声'd list 的顺序不正确,即使我可以在查询后进行除法计算...

这是我的查询...

SELECT OrderTickets.InsuranceCarrierID, 
       COUNT(OrderTickets.OrderTicketPayoutAmount) as NumberOfOrders, 
       SUM(OrderTickets.OrderTicketPayoutAmount) as TotalRevenue, 
       InsuranceCarriers.InsuranceCarrier 
  FROM OrderTickets
  LEFT JOIN InsuranceCarriers 
          ON OrderTickets.InsuranceCarrierID = InsuranceCarriers.InsuranceCarrierID 
 GROUP BY OrderTickets.InsuranceCarrierID
 ORDER BY TotalRevenue DESC

我尝试了一些更改,但没有成功,我没有发布它,因为它不起作用,但如果有人想看到我的尝试,我会很乐意发布它。

4

2 回答 2

2

AVG()像这样使用:

SELECT OrderTickets.InsuranceCarrierID, 
       COUNT(OrderTickets.OrderTicketPayoutAmount) as NumberOfOrders, 
       SUM(OrderTickets.OrderTicketPayoutAmount) as TotalRevenue, 
       AVG(OrderTickets.OrderTicketPayoutAmount) as AverageRevenue, 
       InsuranceCarriers.InsuranceCarrier 
  FROM OrderTickets
  LEFT JOIN InsuranceCarriers 
          ON OrderTickets.InsuranceCarrierID = InsuranceCarriers.InsuranceCarrierID 
 GROUP BY OrderTickets.InsuranceCarrierID
 ORDER BY AverageRevenue DESC
于 2013-04-09T22:45:49.453 回答
0

使用临时表,您将能够轻松地做到这一点。

获取总收入、承运人和订单数量,并将其放入临时表中,然后在下一步进行计算

我认为这比尝试单个复杂查询更好!!!!

http://www.tutorialspoint.com/mysql/mysql-temporary-tables.htm

于 2013-04-09T22:40:15.187 回答