簡體   English   中英

MySql - 在 select 查詢中使用變量,而 where 條件又提供了一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM