Как использовать MySQL @ Session Variables в NodeJS? - PullRequest
0 голосов
/ 12 мая 2019

Я создаю приложение с целью показать некоторые графики.Я построил с Express Framework (NodeJS) и Sequelize для соединителя базы данных mysql.Я почти закончил, но я застрял с этим запросом, потому что запрос требует, чтобы я использовал @ Переменные сеанса.

Следующий код - мой запрос, который я использую

SELECT 
drive_id, officer_id, officer_name, 
vehicle_serial_number, 
FORMAT(ROUND(ROUND(SUM(TIME_TO_SEC(TIMEDIFF(finish_time, start_time)) / 60)) / 3), 1) AS average_cycle_time,
ROUND(SUM(TIME_TO_SEC(TIMEDIFF(finish_time, start_time)) / 60)) AS cycle_minute,
COUNT(drive_id) AS amount_of_cycle, 
drive_rank,
cycle_date
FROM (
SELECT
c.drive_id,
o.id AS officer_id,
v.serial_number AS vehicle_serial_number,
c.start_time, c.finish_time,
c.date AS cycle_date,
@drive_rank := IF(@current_drive = o.name, @drive_rank + 1, 1) AS drive_rank, 
@current_drive := o.name AS officer_name
FROM cycles c
INNER JOIN drives d ON d.id = c.drive_id
INNER JOIN officers o ON o.id = d.officer_id
INNER JOIN vehicles v ON v.id = d.vehicle_id
WHERE c.date = '2019-05-01'
ORDER BY c.drive_id ASC
) ranked
WHERE ranked.drive_rank <= 3
GROUP BY drive_id, officer_id;

Этот результатзапрос на самом деле работает, но @drive_rank не запускается.Есть ли способ для выполнения этого запроса ИЛИ мне нужно переосмыслить, чтобы изменить порядок запроса?Спасибо.

1 Ответ

0 голосов
/ 12 мая 2019

Хорошо, у меня есть ответ на мой вопрос, лол. Я хочу поделиться ответом, если позже у кого-то возникнет такая же проблема, вот она:

  1. Мы не можем использовать Sequelize, если хотим использовать MySQL @ Переменная сеанса. Используйте стандарт mysql
  2. Затем дважды выполнить запрос

В моем случае это сработает, удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...