注:MySQL的一次错误使用记录
例:现有表agv,job,job_config
查询agv表中id,curr_station_code,curr_raw_muxzone_id,crr_reg_fault_code
加上job表中的create_time,start_time,end_time,
再加job_config表中name字段组成的一张数据表。
表中异常数据不为0
并且先倒序再去重
代码:
SELECT * FROM(SELECT
a.id 车号,
c. NAME 任务名称,
b.create_time 创始时间,
b.start_time 开始时间,
b.end_time 结束时间,
a.curr_station_code 站点位置,
a.curr_raw_muxzone_id 管制区,
a.crr_reg_fault_code 异常
FROM
agv a,
job b,
job_config c
WHERE
a.id = b.asgn_agv_id
AND c.id = b.job_config_id
AND a.crr_reg_fault_code != 0
ORDER BY
b.create_time DESC) as t GROUP BY t.`车号`
1、关联查询三张表,得到一张表
SELECT
a.id 车号,
c. NAME 任务名称,
b.create_time 创始时间,
b.start_time 开始时间,
b.end_time 结束时间,
a.curr_station_code 站点位置,
a.curr_raw_muxzone_id 管制区,
a.crr_reg_fault_code 异常
FROM
agv a,
job b,
job_config c
WHERE
a.id = b.asgn_agv_id
AND c.id = b.job_config_id
2、条件(异常数据不为0)
AND a.crr_reg_fault_code != 0
3、倒序
ORDER BY
b.create_time DESC
4、为子查询起别名
as t
5、去重
GROUP BY t.`车号`