2015-10-24 2 views
2

У меня есть таблица mysql, транзакции с идентификаторами полей, тип транзакции, количество, цена и т. Д. Я хочу ограничить записи совокупной суммой одного столбца. Поэтому я хочу вытащить все транзакции, пока кумулятивное количество не достигнет моей переменной (здесь < = 50).Предельный запрос по сумме значений

Что я делаю неправильно?

SET @qsum := 0; 
SELECT * 
FROM (
    SELECT *, (@qsum := @qsum + quantity) AS cumulative_quantity 
    FROM transactions ORDER BY id DESC 
) transactions 
WHERE 
transactionType = 'buy' 
AND typeID = 10 
AND cumulative_quantity <= 50 
+0

Не забудьте upvote, downvote, принимать какие-либо ответы с зеленой галочкой которого когда-либо, если это необходимо. Это наша обратная связь для наших усилий. – Drew

ответ

0

Попробуйте этот путь

SET @qsum := 0; 
SELECT * 
FROM (
    SELECT *, (@qsum := @qsum + quantity) AS cumulative_quantity 
    FROM transactions 
    WHERE transactionType = 'buy' 
    AND typeID = 10 
    AND cumulative_quantity <= 50 
    ORDER BY id DESC 
) transaction 
Смежные вопросы