-1

Web サイトで PHP と MySQL を使用しています。私のデータベースには という名前のテーブルが 1 つありますusers。2 つのフィールドがあります。user_reg_date(bigint(12)) and user_last_login(bigint(12)). これら 2 つのフィールドには、日付がUNIX TIMESTAMP形式で格納されます。テーブル全体の構造は次のとおりです。

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')

user_reg_dateここで、レコード数、つまり、現在の週の日付内にあるユーザーの数と、現在の週の日付内にあるユーザーのレコード数を表示したいと考えていますuser_last_login。他のクエリも、現在の日付からの過去 2 週間だけでなく、先週のレコード数を表示する必要があります。また、同じレコード数を月ごとに表示したいと考えています。これを達成するために誰かが私を助けることができますか? 前もって感謝します。私は2つの日付の間でそのようなカウントを取得しようとしましたが、それはある程度完全に機能しました. user_reg_date の日付ごとのカウントは表示されますが、最後にログインしたユーザーの数は表示されません。完璧なクエリを作成することはできません。このために私が書いたクエリは次のとおりです。

    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 ) ) 
4

2 に答える 2

0
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
于 2014-10-01T07:34:05.093 に答える