Oracle:
原sql:
SELECT S.SOURCE_ID, S.DURATION FROM S_TRAININGRECORD S WHERE 1=1 AND S.USER_CODE = '2' ORDER BY S.SOURCE_ID , S.START_TIME;
合并前的效果
合并后的sql
SELECT SOURCE_ID,DURATION from( SELECT S.SOURCE_ID, S.DURATION,
row_number() OVER(
PARTITION BY S.SOURCE_ID
ORDER BY S.DURATION desc) rnum
FROM S_TRAININGRECORD S WHERE 1=1 AND S.USER_CODE = '2' ORDER BY S.SOURCE_ID , S.START_TIME) t where t.rnum=1
合并后的效果
MySQL
select id,group_concat(name) name from F_userInfo GROUP BY id;