使用查询计算计数百分比并将其添加到 MySQL 表中的计数

crm*_*cco 1 mysql mysql-5.0

我有以下基本的 MySQL 查询,我的目标是人为地将今天的订单量增加 75%。

有没有更有效的方法来做到这一点而不使用COUNT两次?

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

编辑:我发现我的查询有问题(+在我应该使用时用于连接CONCAT

jka*_*lik 5

对于一般情况,使用原始查询作为派生表:

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
Run Code Online (Sandbox Code Playgroud)

但在你的情况下,它要简单得多:

SELECT (COUNT(order_id) * 1.75) AS total
FROM orders
WHERE order_date BETWEEN CURDATE() + ' 00:00:00' AND NOW()
Run Code Online (Sandbox Code Playgroud)