日期:2014-05-16  浏览次数:20728 次

关于MYSQL查询数据的问题
各位老大,我现在碰到在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语句怎么写?急盼!

------解决方案--------------------
SQL code

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