SQL查询多个日期到一个日期

时间:2014-04-04 15:25:44

标签: mysql sql date datetime

我有一个表格psttodo-uit,其中包含Hostess Code, Datum Bezoek 1, PA, PB, PG, GoedkeuringDoorNew, Blanco, ..等字段。

现在我想选择Hostess Code等于...的所有字段。我想要一个这样的概述:

1 march  |   info     info     info
2 march  |   info     info     info

但在我的表格中我有:

2014-04-03 11:32:18
2014-04-03 11:22:16
2014-04-02 16:05:22
2014-04-02 15:40:43
2014-04-02 15:17:41

所以我想选择每一天,并计算其他字段,如count(PA = 1)。我可以在一个SQL查询中执行此操作吗?

4 个答案:

答案 0 :(得分:2)

您的选择必须是:

select `Hostess Code`, DATE_FORMAT(`Datum Bezoek 1`, '%e %M'), count(PA), count(PB), count(PG), GoedkeuringDoorNew, Blanco,... where ... group by DATE_FORMAT(`Datum Bezoek 1`, '%e %M') order by DATE_FORMAT(`Datum Bezoek 1`, '%e %M')

我希望它有所帮助。

答案 1 :(得分:0)

类似的东西:

SELECT DATE_FORMAT(DT, '%e %M')
, COUNT(PA) PA_COUNT
, COUNT(PB) PB_CCOUNT
...
FROM 
YOUR_TABLE
GROUP BY DATE_FORMAT(DT, '%e %M')

答案 2 :(得分:0)

试试这个:

 Select DATE(date_column), col1, col2 
 from psttodo-uit 
 group by DATE(date_column)
 order by DATE(date_column)

答案 3 :(得分:0)

你可以通过使用DATE()函数对日期进行分组,然后使用总和计算其他字段的条件(条件为情况,然后是1,否则为0),就像这样

SELECT DATE(`Datum Bezoek 1`) as MyDate, sum(case when PA=1 then 1 else 0 end) as PA1, count(case when PB=2 then 1 else 0 end) as PB2, other fields here...
FROM yourtablename
WHERE `Hostess Code`=value
GROUP BY DATE(`Datum Bezoek 1`)