-1

我正在做一个项目,我有两个表 - 一个是 tbllessontopic,它保存独特的课程计划,另一个表 tbllessonperiodallocation,它保存将教授课程计划的日期。现在我已经应用查询来获取特定课程的所有日期使用 group_concat() 函数在一个名为日期的列中进行计划。现在我正在尝试按升序排列此列中的日期,我在 tbllessonperiodallocation 中的列日期是 var char 类型,因此在尝试将其转换为日期时间格式时我收到错误的日期时间值错误。请建议我如何实现这一点。

询问

select l.id,l.topic,l.dateallocated,l.noofperiods,s.subjectname,c.classname,
group_concat(p.date order by DATE_FORMAT(STR_TO_DATE(p.date, '%d %m %Y'), '%Y-%m-%d') asc)  as date from tbllessontopic l
join tbllessonperiodallocation p on p.lessontopicid=l.id
join tblclass c on c.classcode=l.classcode
join tblsubject s on s.sshortname=l.subject group by p.lessontopicid

输出

在此处输入图像描述

除了这个问题,如果可能的话,我想将日期列中的第一个日期与今天的日期进行比较,并想找出今天或今天之后的记录,例如我的第一行是 2013 年 8 月 27 日、2013 年 11 月 7 日、2014 年 5 月 5 日现在我想将 2013 年 8 月 27 日与今天的日期匹配

4

1 回答 1

1

Q1) 尝试将 %m "Month, numeric (00-12)" 更改为 %M "Month name"。Q2) GROUP_CONCAT ORDER BY

于 2014-06-18T06:05:04.190 回答