gpt4 book ai didi

mysql - 如何在 NodeJS 中使用 MySQL @Session 变量?

转载 作者:行者123 更新时间:2023-11-29 16:02:07 24 4
gpt4 key购买 nike

我正在创建一个应用程序,目的是显示一些图表。我使用 Express Framework (NodeJS) 和 Sequelize 构建 mysql 数据库连接器。我几乎完成了,但我遇到了这个查询,因为查询要求我使用 @ session 变量。

以下代码是我使用的查询

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. 如果想使用 MySQL @ session 变量,我们就不能使用 Sequelize。使用标准mysql
  2. 然后依次执行查询两次

对于我的情况,它会起作用,祝你好运

关于mysql - 如何在 NodeJS 中使用 MySQL @Session 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56099898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com