2011-08-22 66 views
0

我怎么能组我在查询结果像这样:MySQL的:分组结果

SELECT (
      SELECT SUM(wky) FROM table 
      WHERE Earnings_Date BETWEEN '2011-08-14' AND '2011-08-16' 
      ) + 
      (SELECT SUM(earnings) FROM table 
      WHERE Earnings_Date BETWEEN '2011-08-14' AND '2011-08-16')/.75 

上述查询返回WKY +(收入/ .75)在所有站点(每个站点都有一个WKY和收益我希望我的结果按site_id分组,因为上面的查询只返回所有人的收入总和。

谢谢!

+0

有点硬,没有看到通过查询获取的实际行,但如果你在最外层选择添加GROUP BY,在查询结束时会发生什么? –

+0

我收到一个mysql错误:'子查询返回多于一行' – luqita

回答

2
SELECT site_id, (SUM(wky) + (SUM(earnings)/0.75)) 
FROM Earnings_Date 
WHERE Earnings_Date BETWEEN '2011-08-14' AND '2011-08-16' 
GROUP BY site_id 

您的数据来自两个查询的同一张表,因此您可以合并它们。

-1
SELECT (
     SELECT SUM(wky) FROM table 
     WHERE Earnings_Date BETWEEN '2011-08-14' AND '2011-08-16' 
     ) + 
     (SELECT SUM(earnings) FROM table 
     WHERE Earnings_Date BETWEEN '2011-08-14' AND '2011-08-16')/.75 

, site_id GROUP BY site_id 

:)

+0

这是一种笑话吗? – Jacob

+0

@cularis如果你自己无法确定它,那么它与你有什么不同? :\ – tohaz