各位老大,我现在碰到在MYSQL里面查询的问题,想请大家给予帮助,非常感谢,我的源数据为: 流水号                          流程名称                          流程步骤 经办人
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 5  高敏
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 6 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 2 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 4 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 3 刘萱
2011050516450011 浙江汉帛营销出差审批单(2011-05-05 16:45:34:吴运洲) 3 吴运洲
2011050516450011 浙江汉帛营销出差审批单(2011-05-05 16:45:34:吴运洲) 2 陈淑萍我想得到的效果为:
 流水号                          流程名称                          流程步骤 经办人
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 5  高敏
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 6 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 2 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 4 陈淑萍
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 3 刘萱合并为: 流水号                          流程名称                          流程步骤 经办人
2011050416380005 浙江汉帛营销物料器材申购单(2011-05-04 16:38:41:刘萱) 6  陈淑萍问题描述:
我想最后取得的数据为,流程步骤是相同流水号里面最高的,同时也是最高流程步骤对应的经办人。我想请问各位这个MYSQL语句怎么写?急盼!

解决方案 »

  1.   


    SELECT 流水号, 流程名称, 流程步骤, 经办人
    FROM source a
    WHERE a.流程步骤 = (
      SELECT max(b.流程步骤) FROM source b
      WHERE a.流水号 = b.流水号
    )
    GROUP BY 流水号
    这样可以么
      

  2.   

    group by可以不要还有一个constraint是,一个流水号中,流程步骤的编号应该是unique的吧