2016-06-08 2 views
0

Я пытаюсь захватить максимум 4 строки для каждого отдельного значения. У этого запроса у меня есть работы.Использовать переменные MySQL с Sequelize

SET @currcount = NULL, @currvalue = NULL; SELECT * FROM ( SELECT *, @currcount := IF(@currvalue = quantity, @currcount + 1, 1) AS rank, @currvalue := quantity AS whatever FROM wines where restaurant_id = 16 and owner_id is null ORDER BY quantity DESC ) AS x WHERE rank <= 4

Но теперь я не могу заставить его работать с Sequelize. Могу ли я использовать @variable в Sequelize?

Кто-нибудь это сделал? Или мне придется просто использовать сырой запрос?

Спасибо!

ответ

1

Я не уверен, но положить 2 запросов в одном, как этот и попробовать его с: sequelize.query (.....

SELECT * FROM (
    SELECT 
     *, 
     @currcount := IF(@currvalue = quantity, @currcount + 1, 1) AS rank, 
     @currvalue := quantity AS whatever 
    FROM wines 
    where restaurant_id = 16 and owner_id is null 
    ORDER BY quantity DESC 
) AS x 
CROSS JOIN (SELECT @currcount := NULL, @currvalue := NULL) as parameter 
WHERE rank <= 4; 
Смежные вопросы