MYSQL按日期选择和分组

时间:2010-04-06 02:13:15

标签: php sql mysql

我不确定如何创建正确的查询来获取我正在寻找的结果。我所拥有的是2张桌子。第一个具有ID,名称列,第二个具有日期和adminID,它从表1列ID引用。现在,我想要得到的基本上是每个管理员在这个月每天都有的次数。

ID  |  Date
------------------
4   |  2010/03/01
4   |  2010/03/04
4   |  2010/03/04
4   |  2010/03/05
4   |  2010/03/05

从这样的结构我想得到每天和每月的数据,所以结果将类似于管理4的1,2,3月总计5:

ID  |  Date       | Count
--------------------------
4   |  2010/03/01 | 1
4   |  2010/03/04 | 2
4   |  2010/03/05 | 2

3 个答案:

答案 0 :(得分:2)

试试这个:

  SELECT COUNT(*), a.name, DATE(l.date)
    FROM admin a
   INNER
    JOIN logins l ON l.admin_id = a.id
   WHERE l.date > start_date AND l.date < end_date
GROUP BY a.name, DATE(l.date)

答案 1 :(得分:0)

编辑:这是有效的,经过测试:

SELECT count(ID) AS day_count,ID,Date FROM Table GROUP BY Date;

表:

id  date
4   2010-04-13
4   2010-04-13
4   2010-04-23
4   2010-04-11
4   2010-04-17
4   2010-04-17
4   2010-04-17

输出:

day_count   id  date
1   4   2010-04-11
2   4   2010-04-13
3   4   2010-04-17
1   4   2010-04-23

答案 2 :(得分:0)

选择id,count(*)作为numRec,日期从tablename group by date order by newRec