1
几个条件求和的名单我有一个MySQL声明一个问题:MySQL的:在一个SQL语句
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;
该语句返回一行与colums“总和”和“日期”。
现在我不只有一个日期('2010-06-01'),我有很多日期我必须得到它的总和(),但不是在一行中。我想每天有一个结果行。
因此,举例来说,上面的语句返回我
sum date
-------------------
20 01.06.2010
现在我有日期2010-06-01,2010-06-02,2010-06-03,... 我可以做的是为每个日期写一个更改DATE的sql语句。所以如果我有10个日期,我将有10个数据库的sql语句。 但我确实希望它有一个SQL语句,并且结果不应该是所有给定日期的总和,我希望每个日期都有一个结果行。所以结果应该喜欢:
sum date
-------------------
20 01.06.2010
133 02.06.2010
19 03.06.2010
88 04.06.2010
... ...
我怎样才能做到这一点?有人知道吗?
非常感谢&最好的问候。
非常感谢,这似乎是不错,但我怎么能告诉的说法,我想有两个给定日期之间的唯一结果行? 我在“2010-07-01”和“2010-07-10”之间添加了“... where ...和日期”,但它不知道日期列。 我该怎么做? – Tim 2010-07-14 11:40:55
啊,当然我可以这样做: “......其中......和DATE(FROM_UNIXTIME(rtime))在'2010-07-01'和'2010-07-10'之间”“但我认为其表现是不太好,因为它必须计算两次日期的时间戳。 – Tim 2010-07-14 11:47:59
解决时间: 按日期分组,日期介于'2010-07-01'和'2010-07-10'之间; – Tim 2010-07-14 12:13:21