私は次の基本的な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
)
一般的なケースでは、元のクエリを派生テーブルとして使用します。
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()