Php 在以下情况下,如何显示每月和每周的记录?

Php 在以下情况下,如何显示每月和每周的记录?,php,mysql,sql,date,unix-timestamp,Php,Mysql,Sql,Date,Unix Timestamp,我在我的网站上使用PHP和MySQL。我的数据库中有一个名为users的表。它有两个字段,即user_reg_datebigint12和user_last_loginbigint12。这两个字段以UNIX时间戳格式存储日期。整个表格结构如下: user_id varchar(32) user_title enum('Mr', 'Ms', 'Mrs') user_first_name varchar(50) user_last_name varchar(50) user

我在我的网站上使用PHP和MySQL。我的数据库中有一个名为users的表。它有两个字段,即user_reg_datebigint12和user_last_loginbigint12。这两个字段以UNIX时间戳格式存储日期。整个表格结构如下:

user_id         varchar(32)
user_title      enum('Mr', 'Ms', 'Mrs')
user_first_name varchar(50)
user_last_name  varchar(50)
user_name   varchar(100)
user_password   varchar(50)
user_email  varchar(150)
user_dob    date    
user_hybridauth_p_name  varchar(100)
user_hybridauth_p_uid   varchar(100)
user_reg_date   bigint(12)
user_status     enum('enable', 'disable')
user_subscription   enum('lifetime', 'period')
user_update_date    bigint(12)
user_last_login     bigint(12)
user_last_activity  bigint(12)
user_created_staff_id   varchar(32)
user_updated_staff_id   varchar(32)
user_registered_type    enum('online', 'manual')
现在我想显示记录计数,即用户注册日期在本周日期内的用户计数,以及用户上次登录日期在本周日期内的用户记录计数。其他查询还需要显示上周以及自当前日期起最近两周的此类记录计数。 我还想每月显示相同的记录计数。谁能帮我实现这个目标?提前谢谢。我努力在两次约会之间得到这样的计数,这在某种程度上是完美的。它给我的是用户的日期计数,而不是上次登录的用户计数。我只是不能写出完美的查询。我为此编写的查询如下:

    SELECT date( FROM_UNIXTIME( user_reg_date ) ) 'Current Date', COUNT( user_reg_date ) 'registered_user_count', COUNT( user_last_login ) 'logged_in_count'
FROM users
WHERE user_reg_date >=1341100800
AND user_reg_date <=1374451200
AND user_last_login >=1341100800
AND user_last_login <=1374451200
GROUP BY date( FROM_UNIXTIME( user_reg_date ) ) , date( FROM_UNIXTIME( user_last_login ) ) 

你可以这样做

选择 选择计数* 来自用户 其中用户上次登录时间为UNIX\u TIMESTAMPADDDATECURDATE,间隔为1-DAYOFWEEKCURDATE 和UNIX_TIMESTAMPADDDATECURDATE,间隔7-DAYOFWEEKCURDATE-DAY 已登录\u\u计数, 选择计数* 来自用户 其中,用户的注册日期介于UNIX\u TIMESTAMPADDDATECURDATE之间,间隔为1-DAYOFWEEKCURDATE 和UNIX_TIMESTAMPADDDATECURDATE,间隔7-DAYOFWEEKCURDATE-DAY 注册用户数
这里是演示

你有什么错误吗?@vladkras:如果你是在谈论我写的查询,那么查询中没有错误,但我只得到了user\u reg\u date的计数。在user\u last\u login列下重复相同的计数。这是我的问题。如果用户\u last\u login>UNIX\u TIMESTAMPNOW-间隔7天也有效@vladkras您能解释一下您的建议如何帮助获得本周的第一天和最后几天吗??@phpLover有帮助吗?你的问题需要更多的帮助吗?
SELECT columnName
  SUM(CASE WHEN REQUESTMONTH=1 THEN (REQUESTTOTAL) END) Jan,
  SUM(CASE WHEN REQUESTMONTH=2 THEN (REQUESTTOTAL) END) Feb,
  SUM(CASE WHEN REQUESTMONTH=3 THEN (REQUESTTOTAL) END) Mar,
  SUM(CASE WHEN REQUESTMONTH=4 THEN (REQUESTTOTAL) END) Apr,
  SUM(CASE WHEN REQUESTMONTH=5 THEN (REQUESTTOTAL) END) May,
  SUM(CASE WHEN REQUESTMONTH=6 THEN (REQUESTTOTAL) END) Jun,
  SUM(CASE WHEN REQUESTMONTH=7 THEN (REQUESTTOTAL) END) July,
  SUM(CASE WHEN REQUESTMONTH=8 THEN (REQUESTTOTAL) END) Aug,
  SUM(CASE WHEN REQUESTMONTH=9 THEN (REQUESTTOTAL) END) Sep,
  SUM(CASE WHEN REQUESTMONTH=10 THEN (REQUESTTOTAL) END) 'Oct',
  SUM(CASE WHEN REQUESTMONTH=11 THEN (REQUESTTOTAL) END) Nov,
  SUM(CASE WHEN REQUESTMONTH=12 THEN (REQUESTTOTAL) END) 'Dec'
FROM tableName