小编Dan*_*ith的帖子

MySQL 查询在第二次执行时返回不同的结果

我对 MySQL 变量不太熟悉,但我试图在计算这些结果时避免冗余的子选择。第一次执行只返回 1 个正确的计算。第二次执行返回所有正确的值。

SELECT
@discount_code := '*******' AS discount_code,
@sales_revenue := (
    SELECT
        CAST(SUM(total_price) AS UNSIGNED)
    FROM
        shopify_orders
    WHERE
        discount_code = @discount_code
) AS sales_revenue,
@rsp_float := (
    SELECT
        revenue_share_percentage / 100
    FROM
        kpi_data
    WHERE
        CODE = @discount_code
) AS rsp_float,
@marketing_spend := (
    SELECT
        fixed_media_cost + @revenue_share
    FROM
        kpi_data
    WHERE
        CODE = @discount_code
) AS marketing_spend,
@roi_dollars := (
    @sales_revenue - @marketing_spend
) AS roi_dollars,
@revenue_share := (@sales_revenue * @rsp_float) AS revenue_share,
@roi := CAST(
    (@roi_dollars /@marketing_spend) …
Run Code Online (Sandbox Code Playgroud)

mysql subquery

5
推荐指数
1
解决办法
1207
查看次数

标签 统计

mysql ×1

subquery ×1