sql >> データベース >  >> RDS >> Mysql

MySQLで今月の記録を取得する方法

    レポートとデータ分析のためにMySQLで今月の記録を取得するのに役立ちます。これを使用して、当月の売上データ、当月の登録数、およびその他の有用な情報を取得できます。 MySQLで今月の行を取得する方法は次のとおりです。

    MySQLで今月のレコードを取得する方法

    MySQLで当月のレコードを取得する手順は次のとおりです。また、その月に新規顧客を獲得するためにも使用します。

    次のテーブルがあるとしますsales(order_date、sale、orders) 1日の注文数と販売額が含まれています。

    mysql> select * from sales;
    +------------+------+--------+
    | order_date | sale | orders |
    +------------+------+--------+
    | 2020-04-28 |  300 |     10 |
    | 2020-04-29 |  250 |     15 |
    | 2020-04-30 |  250 |     12 |
    | 2020-05-01 |  250 |     14 |
    | 2020-05-02 |  150 |     20 |
    | 2020-05-03 |  300 |     21 |
    | 2020-05-04 |  200 |     15 |
    | 2020-05-05 |  200 |     17 |
    | 2020-05-06 |  250 |     12 |
    | 2020-05-07 |  150 |     15 |
    | 2020-05-08 |  300 |     12 |
    | 2020-05-09 |  200 |     18 |
    +------------+------+--------+
    

    ボーナスリード:CSVをMySQLWorkbenchにインポートする方法

    MySQLで今月の売上データを取得する方法

    MySQLで今月のレコードを取得するためのSQLクエリは次のとおりです

    mysql> select * from sales
           where MONTH(order_date)=MONTH(now())
           and YEAR(order_date)=YEAR(now());
    +------------+------+--------+
    | order_date | sale | orders |
    +------------+------+--------+
    | 2020-05-01 |  250 |     14 |
    | 2020-05-02 |  150 |     20 |
    | 2020-05-03 |  300 |     21 |
    | 2020-05-04 |  200 |     15 |
    | 2020-05-05 |  200 |     17 |
    | 2020-05-06 |  250 |     12 |
    | 2020-05-07 |  150 |     15 |
    | 2020-05-08 |  300 |     12 |
    | 2020-05-09 |  200 |     18 |
    +------------+------+--------+
    

    上記のクエリでは、システム関数 now()を使用しています。 現在の日時を取得します。次に、現在の日時と同じ月と年を持つ行をフィルタリングすることにより、MySQLで現在の月の行を取得します。 MONTH()とYEAR()は、指定された日付から月番号と年番号を取得するための組み込みのMySQL関数です。

    ボーナスリード:MySQLでヒストグラムを作成する方法

    日付列、つまり order_date の場合 インデックスが付けられている場合は、関数を使用しないことをお勧めします。そうしないと、実行に長い時間がかかります。代わりに、次のSQLクエリを使用して、MySQLで今月のレコードを取得できます。

    mysql> SELECT * FROM sales
          WHERE order_date >= (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH)
          AND order_date <  (LAST_DAY(NOW()) + INTERVAL 1 DAY);
    +------------+------+--------+
    | order_date | sale | orders |
    +------------+------+--------+
    | 2020-05-01 |  250 |     14 |
    | 2020-05-02 |  150 |     20 |
    | 2020-05-03 |  300 |     21 |
    | 2020-05-04 |  200 |     15 |
    | 2020-05-05 |  200 |     17 |
    | 2020-05-06 |  250 |     12 |
    | 2020-05-07 |  150 |     15 |
    | 2020-05-08 |  300 |     12 |
    | 2020-05-09 |  200 |     18 |
    +------------+------+--------+
    

    MySQLで今月の記録を取得したら、チャートツールを使用して、以下に示すように見栄えの良いグラフにプロットし、チームと共有できます。これは、Ubiqダッシュボードソフトウェアを使用して作成された折れ線グラフです

    ボーナスリード:MySQLでコンバージョン率を計算する方法

    MySQLで今月のサインアップと新規ユーザーを取得する方法

    同様に、MySQLで今月の新規登録とユーザーを取得することもできます。次のテーブルがあるとしますUsers(user_id、date_joined) サインアップデータが含まれています。

    mysql> select * from users;
    +-------------+---------+
    | date_joined | user_id |
    +-------------+---------+
    | 2020-04-28  |     213 |
    | 2020-04-28  |     214 |
    | 2020-04-30  |     215 |
    | 2020-04-28  |     216 |
    | 2020-04-28  |     217 |
    | 2020-04-30  |     218 |
    | 2020-04-28  |     219 |
    | 2020-04-28  |     220 |
    | 2020-04-30  |     221 |
    | 2020-05-01  |     222 |
    | 2020-05-01  |     222 |
    | 2020-05-01  |     223 |
    | 2020-05-04  |     224 |
    | 2020-05-04  |     225 |
    | 2020-05-04  |     226 |
    | 2020-05-04  |     226 |
    | 2020-05-04  |     227 |
    | 2020-05-04  |     228 |
    | 2020-05-05  |     229 |
    | 2020-05-05  |     230 |
    | 2020-05-05  |     231 |
    | 2020-05-05  |     232 |
    | 2020-05-06  |     233 |
    | 2020-05-06  |     234 |
    +-------------+---------+
    

    これが、MySQLで今月の毎日の新規サインアップとユーザーを取得するためのSQLクエリです。

    mysql> select date(date_joined),count(*) from users
           where MONTH(date_joined)=MONTH(now())
           and YEAR(date_joined)=YEAR(now())
           group by date(date_joined);
    +-------------------+----------+
    | date(date_joined) | count(*) |
    +-------------------+----------+
    | 2020-05-01        |        3 |
    | 2020-05-04        |        6 |
    | 2020-05-05        |        4 |
    | 2020-05-06        |        2 |
    +-------------------+----------+
    

    このSQLクエリを使用して、1か月のユーザー数を取得したり、先月の新規ユーザー数をカウントしたりすることもできます。 date(date_joined)を削除するだけです select句からgroupby句を削除して、合計数を取得します。

    mysql> select count(*) from users
           where MONTH(date_joined)=MONTH(now())
           and YEAR(date_joined)=YEAR(now());
    のユーザーからcount(*)を選択します。

    ボーナスリード:MySQLで欠落している日付を埋める方法

    MySQLで今月の記録を取得したら、レポートツールを使用して、このデータを棒グラフまたはダッシュボードにプロットし、チームと共有できます。これは、Ubiqを使用して作成された、当月の毎日の登録を示す棒グラフの例です。

    MySQLデータベースからチャート、ダッシュボード、レポートを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。

    1. postgresのインストールデータベースクラスターの初期化に失敗しました(Postgresqlバージョン9.4.4)

    2. row_to_jsonを使用したPostgres再帰クエリ

    3. SQLクエリから変数を設定するにはどうすればよいですか?

    4. SQLite JSON_TREE()