web-dev-qa-db-ja.com

カウントの割合を計算し、クエリを使用してMySQLテーブルのカウントに追加する

私は次の基本的なMySQLクエリを使用していますが、私の目標は、今日の注文の量を人為的に75%増やすことです。

COUNTを2回使用せずにこれを行うより効率的な方法はありますか?

SELECT COUNT(order_id) + (COUNT(order_id) * 0.75) AS total
FROM orders
WHERE order_date BETWEEN BETWEEN CURDATE() + ' 00:00:00' AND NOW()

編集:クエリの問題を発見しました(+を使用する必要がある場合の連結の場合CONCAT

1
crmpicco

一般的なケースでは、元のクエリを派生テーブルとして使用します。

SELECT cnt + (cnt * 0.75) AS total
FROM (
    SELECT COUNT(order_id) AS cnt
    FROM orders
    WHERE order_date BETWEEN CURDATE() + ' 00:00:00' AND NOW()
) AS tmp

しかし、あなたの場合、それははるかに簡単です:

SELECT (COUNT(order_id) * 1.75) AS total
FROM orders
WHERE order_date BETWEEN CURDATE() + ' 00:00:00' AND NOW()
4
jkavalik