MySQL:一条SQL语句中多个条件的总和列表

MySQL:一条SQL语句中多个条件的总和列表,mysql,Mysql,我对MySQL语句有问题: select sum(x) as "sum", "01.06.2010" as "date" from ( select distinct a.id as ID, a.dur as x from b_c inner join c on b_c.c_id = c.id inner join a on c.id = a.c_id inner join a_au on a.id = a_aud.id inner

我对MySQL语句有问题:

select sum(x) as "sum", "01.06.2010" as "date" from (
   select distinct a.id as ID, a.dur as x from b_c 
      inner join c on b_c.c_id = c.id 
      inner join a on c.id = a.c_id 
      inner join a_au on a.id = a_aud.id 
      inner join d on a_au.rev = d.rev 
      where 
         b_c.b_id = 30 and 
         a_au.stat != 1 and 
         DATE(FROM_UNIXTIME(rtime)) = DATE('2010-06-01')
) AS SubSelectTable;
此语句返回一行,其中列为“sum”和“date”

现在我不仅有一个日期('2010-06-01'),还有许多日期我必须得到它的总和(),但不是在一行中。我想每天有一个结果行

例如,上面的语句返回我

sum            date
-------------------
 20      01.06.2010
现在我有日期2010-06-01,2010-06-02,2010-06-03。。。 我能做的就是为每个日期编写一条sql语句来更改日期。因此,如果我有10个日期,我将有10个数据库sql语句。 但是我确实希望它带有一个SQL语句,结果不应该是所有给定日期的总和,我希望每个日期有一个结果行。所以结果应该是这样的:

sum            date
-------------------
 20      01.06.2010
133      02.06.2010
 19      03.06.2010
 88      04.06.2010
...             ...
我该怎么做?有人知道吗


提前非常感谢并致以良好的问候。

使用mysql GROUP BY命令。完全未经测试的代码示例:

select sum(x) as "sum", date as "date" from (
   select distinct a.id as ID, a.dur as x, DATE(FROM_UNIXTIME(rtime)) as date from b_c 
      inner join c on b_c.c_id = c.id 
      inner join a on c.id = a.c_id 
      inner join a_au on a.id = a_aud.id 
      inner join d on a_au.rev = d.rev 
      where 
         b_c.b_id = 30 and 
         a_au.stat != 1
) AS SubSelectTable
group by date;
见:

非常感谢,这似乎没问题,但我怎么能告诉你,我只希望在两个给定日期之间有结果行?我添加了一个“……其中……和日期介于‘2010-07-01’和‘2010-07-10’之间”,但它不知道日期列。我该怎么做呢?啊,当然我可以这么做:“……在哪里……和日期(从_UNIXTIME(rtime))介于‘2010-07-01’和‘2010-07-10’”之间,但我认为性能不太好,因为它必须计算两次日期的时间戳。解决方法:按日期分组,日期介于‘2010-07-01’和‘2010-07-10’;