在我的查询中,我需要使用当前行获取上一行,然后加入几个表。我在我的开发服务器(MySQL 5.7)中使用SQL变量获得了前一行,一切正常,但在我的生产(MariaDB 10)服务器中,前一行结果不好只是混合,坏部分只是前一行有SQL变量其他查询部分效果很好。
我的查询:
customers.title,
calendar.start_time,
calendar.hours_per_time,
calendar.self_certification,
calendar.bulletin_certification,
calendar.extra,
@previous_start AS previous_start,
@previous_start := calendar.start_time,
@previous_end AS previous_end,
@previous_end := calendar.hours_per_time,
DATE_FORMAT(calendar.date, '%d-%m') AS day_month,
TIME_FORMAT(calendar.start_time, '%H:%i') AS hours_min
FROM
(SELECT @previous_start := '00:00', @previous_end := '0.00') AS calendar_prev, calendar
INNER JOIN relationships ON calendar.relation_id = relationships.relation_id
INNER JOIN customers ON customers.customer_id = relationships.customer_id
WHERE relationships.user_id = '$user_id'
AND DATE_FORMAT(calendar.date, '%m-%Y') = '$date'
ORDER BY calendar.date, hours_min ASC