sql查询出现重复数据!!

想让查询结果里这个字段create_time或者content不重复,应该怎么加DISTINCT 啊

 select  
town_name,id,tid,username,userid,school_id,school_name,class_name,send_id,
content,create_time,mphone,is_read,need_revert,send_type,msg_type,parent_id,
file_name,file_path,si_file_name 
from ( select a.id,b.username,b.userid,b.id tid,
a.send_id,a.content,b.mphone,a.is_read,c.id school_id,c.school_name,cl.class_name, 
to_char(a.create_time,'yyyy-mm-dd hh24:mi:ss')  create_time, a.need_revert need_revert, 
t.name town_name,a.receive_id,a.send_type send_type,a.msg_type msg_type,a.parent_id parent_id,
a.file_name file_name,a.si_file_name si_file_name,a.file_path file_path,row_number() 
over(order by  a.create_time desc) rn from zjxxt.dx_service_rec a  ,xj_school c,qx_account_school d,town t,zjxxt.area e,xj_teacher b  
left join xj_class cl on cl.user_id=b.id and cl.in_school=1 and cl.class_type=1  
where d.user_id=1 and d.school_id=c.id and b.school_id=c.id and a.send_id=b.id and c.town_id=t.id 
and t.area_id=e.id  and e.id=6 and t.area_id=6 and c.area_id=6)
where username='沈平'

数据库表都不贴出来

查询太复杂,又没有数据。思路是对重复字段加上distinct或者group by

先把数据贴出来啊,,,