Day Wise在mysql中的select查询中搜索

时间:2014-05-14 10:57:39

标签: mysql

我在mysql的表中有一个日期字段。我希望以这样的方式获取记录,即从今天到上一年以下列方式记录。

ID - >天 - >计数器

这意味着我希望每天都有明智的反击。在过去的一年中,每天插入了多少条记录(星期日,星期一等)。

plz帮助 谢谢

2 个答案:

答案 0 :(得分:0)

SELECT DAY(dateField) AS dateDay, COUNT(*) AS numberOfDays
  FROM dateTable
    WHERE dateField BETWEEN TIMESTAMPADD(YEAR, -1, NOW()) AND NOW()
    GROUP BY dateDay

http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_day

DAY功能可以替换为DATE以获取完整日期,TO_DAYS可以替换为0年,WEEKDAY获取星期一至星期日等等。

编辑:要通过WEEKDAY显示,请使用DAYNAME函数(DAYNAME(dateField))

http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_dayname

答案 1 :(得分:0)

使用where子句中的上一个year,并计算每个dayname中按year分组的事件。您可以在weekday个数字上订购结果。

例子

select   year( date ) as year
       , dayname( date ) as day
       , count( date ) as counter
  from table_name
 where 
       date between ( curdate() - interval 1 year ) and curdate()
       -- or the following, to match all from prev year
       -- year( date ) >= year( curdate() - interval 1 year )
 group by 1, 2 -- year and dayname
 order by year 
          , field( weekday( date ), 6, 0, 1, 2 ,3 ,4, 5 ) -- sun to sat