【发布时间】:2018-07-04 12:34:13
【问题描述】:
查询:-
SELECT emp.emp_id AS employeeId,
emp.emp_name AS employeeName,
**group_concat(CASE
WHEN log_date = log_date THEN log_time
ELSE ''
END) AS logTimings**,
shift AS shift
FROM at_hr_logs_Jan l,
at_hr_emp employee,
at_dates dt
WHERE user_id=00000247
AND l.user_id=emp.emp_code
AND emp.dept_id=1
AND l.status_id=fn_getcodevalue_id('STS', 'ACTIVE')
AND l.log_date=dt.att_date
GROUP BY l.log_date ;
实际输出:-
员工 ID 员工姓名 日志计时 00000247 M. Rama Rao 18:03,17:40,13:35,11:48,09:19 00000247 M. Rama Rao 15:24,09:11,18:44,16:37,15:27,15:24但需要:
员工 ID 员工姓名 日志计时 00000247 M. Rama Rao 09:19,11:48,13:35,17:40,18:03 00000247 M. Rama Rao 09:11,15:27,15:24,15:24,16:37,18:44【问题讨论】:
-
你试过
order by l.log_date -
CASE WHEN log_date = log_date THEN log_time ELSE '' END有什么意义??它永远是真的 -
是的..我试过然后它显示 log_date order by 但它不影响内部值
-
@Ravi..CASE WHEN log_date = log_date THEN log_time order by ELSE null END..这有可能吗??
-
请发布您的表结构和示例数据。
标签: mysql sql sql-order-by case group-concat