DISTINCT 只能显示一个字段,我现在要显示所有的字段。
SELECT * FROM dbo.workflow_trans t
WHERE t.id IN
(SELECT max(id) FROM workflow_trans GROUP BY process_instance_id)
这样是可以去重复,但是条件必须要加到in里面才可以,handler_name是参数,我想做成视图,如果是做成存储过程是可以解决这个问题。
Create view_workflow_trans as SELECT * FROM dbo.workflow_trans t WHERE t.id = (SELECT max(id) FROM workflow_trans where id=t.id)
你这个方法不行。
@最初的、天空: 怎么不行?
dbo.workflow_trans这个表的主键是ID么?
你说的都对,那么问题来了,你的问题是什么呢?
sorry 可能描述的不清楚,我想做成试图,因为查询出的结果要做成一张表,与另一个表关联。 写成存储过程比较麻烦。 extjs中不好自定义排序。
额,你这个问题问的好,去重复的问题你都解决了,你想在视图里面 传参数就直说啊...
既然存储过程可以解决你这个问题,你为什么非要建成视图了,简单问题复杂化了
建议一:视图你照样写,然后对数据在后台代码进行参数传递筛选,或者你去研究下视图里面怎么传你要的人名
建议二:存储过程
因为查询出的结果要做成一张表。
@最初的、天空: 对查询结果集做筛选,就是你想要的表了
这样也行:
select distinct(instance_id,instancename,sort,……) from archflow where ……
你试试看。
看你去什么啊重啊 分组也可以啊?? row number(也可以啊 )
row number 是个好方法
group by 中再加一个handler_name 就OK了