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

今週の注文テーブルからレコードをプルします

    やりたいことを正確にやってみましょう:

    SELECT
        WEEKDAY(`datetime_field`) AS `week_day`,
        COUNT(*) AS `sale_count`
    FROM `orders`
    WHERE YEARWEEK(`datetime_field`) = YEARWEEK(NOW())
    GROUP BY `week_day`
    ORDER BY `week_day` ASC;
    

    これは、week_dayを含む一連のレコードを返します およびsale_count 詳細はこちらNOW()を使用する ローカル日時を使用する場合、またはUTC_TIMESTAMP()を使用する場合 GMTでプレイする場合。

    データベース名やフィールド名がわからないことに注意してください。それらを記入する必要があります。

    実例:

    CREATE TABLE `orders` (
      `OrderID` int(11) NOT NULL AUTO_INCREMENT,
      `OrderDate` datetime NOT NULL,
      `OrderValue` decimal(7,2) unsigned NOT NULL,
      PRIMARY KEY (`OrderID`)
    );
    
    INSERT INTO `orders` VALUES ('1', '2012-10-29 14:02:19', '100.00');
    INSERT INTO `orders` VALUES ('2', '2012-10-30 14:02:19', '123.00');
    INSERT INTO `orders` VALUES ('3', '2012-10-31 14:02:19', '103.00');
    INSERT INTO `orders` VALUES ('4', '2012-11-01 14:02:19', '232.00');
    INSERT INTO `orders` VALUES ('5', '2012-11-02 14:02:19', '321.00');
    INSERT INTO `orders` VALUES ('6', '2012-11-03 14:02:19', '154.00');
    INSERT INTO `orders` VALUES ('7', '2012-11-04 14:02:19', '112.00');
    INSERT INTO `orders` VALUES ('8', '2012-10-29 14:02:19', '100.00');
    
    SELECT
        WEEKDAY(`OrderDate`) AS `week_day`,
        COUNT(*) AS `sales_count`,
        SUM(`OrderValue`) AS `sales_value`
    FROM `orders`
    WHERE YEARWEEK(`OrderDate`) = YEARWEEK(NOW())
    GROUP BY `week_day`
    ORDER BY `week_day` ASC;
    

    これは、テーブルを作成するためのSQLであり、今週は1日あたり1つの注文を追加しますが、月曜日は2つ追加します。そして、レポートをフェッチするためのクエリ。

    ここにあります SQLFIDDLE.COM サンプル




    1. MySQLの在庫管理システム用のデータベースを設計するためのガイド

    2. 2つの列からの条件の組み合わせmysql

    3. インプロデュースされた配列をmysqlのプリペアドステートメントにバインドする際の問題

    4. mssqlモジュールを使用してNode.JSからWindows認証でSQLServerに接続する方法