我不确定如何创建正确的查询来获取我正在寻找的结果。我所拥有的是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
答案 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