In8 2015-06-05 08:00 采纳率: 0%
浏览 1474

MYSQL语句优化,在线等

SELECT tt.int_interpreting_data_id,tt.dt_report_date,tn.str_norm_number,tnt.str_norm_type_name,tt.int_whether,tt.str_value,tt.str_detection_result,tt.str_remark,tn.str_name,tn.int_response_type,tt.str_device_name,tt.str_ip,tt.db_name,tn.str_code
FROM t_norm tn LEFT JOIN
(
SELECT tid1.str_code,tid1.int_interpreting_data_id,tid1.dt_report_date,tid1.str_norm_type_name,tid1.int_whether,tid1.str_value,tid1.str_detection_result,tid1.str_remark,tid1.str_device_name,tid1.str_ip,tid1.db_name,tid1.str_norm_number FROM t_interpreting_data tid1,
(
SELECT str_code,int_interpreting_data_id,str_norm_type_name,int_whether,str_value,str_detection_result,str_remark,str_device_name,str_ip,db_name,str_norm_number,max(dt_report_date) max_date FROM t_interpreting_data WHERE 1=1
AND str_property_id='Windows 7_852'
AND STR_TO_DATE(dt_report_date,'%Y-%m-%d') ='2015-06-05'
GROUP BY str_norm_number,db_name
) tid2
WHERE tid1.dt_report_date=tid2.max_date
GROUP BY tid1.str_norm_number,tid1.db_name
ORDER BY tid1.dt_report_date DESC
) tt on tn.str_norm_number=tt.str_norm_number
LEFT JOIN t_norm_type tnt ON tn.int_norm_type_id=tnt.int_norm_type_id
WHERE tn.str_code IN (SELECT str_code FROM t_interpreting_data WHERE str_property_id='Windows 7_852' GROUP BY str_code)
ORDER BY tt.str_norm_number DESC

1.以t_norm表为标准
2.查找 t_interpreting_data表中同一个类型最新的记录,同时根据db_name分组

  • 写回答

2条回答 默认 最新

  • In8 2015-06-05 08:13
    关注

    SELECT tt.int_interpreting_data_id,tt.dt_report_date,tn.str_norm_number,tnt.str_norm_type_name,tt.int_whether,tt.str_value,tt.str_detection_result,tt.str_remark,tn.str_name,tn.int_response_type,tt.str_device_name,tt.str_ip,tt.db_name,tn.str_code
    FROM t_norm tn LEFT JOIN
    (
    SELECT tid1.str_code,tid1.int_interpreting_data_id,tid1.dt_report_date,tid1.str_norm_type_name,tid1.int_whether,tid1.str_value,tid1.str_detection_result,tid1.str_remark,tid1.str_device_name,tid1.str_ip,tid1.db_name,tid1.str_norm_number FROM t_interpreting_data tid1,
    (
    SELECT str_code,int_interpreting_data_id,str_norm_type_name,int_whether,str_value,str_detection_result,str_remark,str_device_name,str_ip,db_name,str_norm_number,max(dt_report_date) max_date FROM t_interpreting_data WHERE 1=1
    AND str_property_id='Windows 7_852'
    AND STR_TO_DATE(dt_report_date,'%Y-%m-%d') ='2015-06-05'
    GROUP BY str_norm_number,db_name
    ) tid2
    WHERE tid1.dt_report_date=tid2.max_date
    GROUP BY tid1.str_norm_number,tid1.db_name
    ORDER BY tid1.dt_report_date DESC
    ) tt on tn.str_norm_number=tt.str_norm_number
    LEFT JOIN t_norm_type tnt ON tn.int_norm_type_id=tnt.int_norm_type_id
    WHERE tn.str_code IN (SELECT str_code FROM t_interpreting_data WHERE str_property_id='Windows 7_852' GROUP BY str_code)
    ORDER BY tt.str_norm_number DESC

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况