[英]MySql - Using variables in select query and where condition gives one more additional row
我在 select 查詢中使用變量來計算一個值,並根據我在查詢中添加 where 條件的值。
無論字段值是什么,我的問題都會再增加一行。
例如,如果該表中所有行的字段值為 1,那么它會給出 20 加上另外一行 21。
請幫助解決這個問題。
如何根據計算的值添加條件,因為我不能使用 SUM,它將聚合並僅返回一個值。
下面是我使用的示例查詢。
SET @var = 0;
SELECT @var := @var + field FROM table1 WHERE @var <= 20
MySql 版本 5.5.45
檢查
SELECT t1.(fieldset)
FROM source_table t1
JOIN source_table t2 ON t1.ordering_field <= t2.ordering field
GROUP BY t1.(fieldset)
HAVING SUM(t2.amount_field) <= @needed_sum
ORDER BY SUM(t2.amount_field) DESC [LIMIT 1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.