我有一个看起来像这样的表:
id | SubjectCode | Grade | DateApproved | StudentId
1 SUB123 1.25 1/4/2012 2012-12345
2 SUB123 2.00 1/5/2012 2012-12345
3 SUB123 3.00 1/5/2012 2012-98765
Run Code Online (Sandbox Code Playgroud)
我正在尝试GROUP BY SubjectCode,但我希望它显示最近的DateApproved,所以它看起来像:
id | SubjectCode | Grade | DateApproved | StudentId
2 SUB123 2.00 1/5/2012 2012-12345
3 SUB123 3.00 1/5/2012 2012-98765
Run Code Online (Sandbox Code Playgroud)
我有点迷失在怎么办?
编辑:
好的家伙现在我在我的真实PC上,抱歉这个构造不好的问题.
这就是我实际上要做的事情:
SELECT GD.GradebookDetailId, G.SubjectCode, G.Description, G.UnitsAcademic, G.UnitsNonAcademic,
GD.Grade, GD.Remarks, G.FacultyName, STR_TO_DATE(G.DateApproved, '%m/%d/%Y %h:%i:%s') AS 'DateAproved'
FROM gradebookdetail GD INNER JOIN gradebook G ON GD.GradebookId=G.GradebookId
WHERE G.DateApproved IS NOT NULL AND …Run Code Online (Sandbox Code Playgroud) .NET代码,DateTime.Now.ToString()输出如下:
11/28/2011 1:17:05 PM
我把它作为一个存储在MySQL中VARCHAR.
当我SELECT回到我的DataTable时,我希望它能被订购.当然,因为它是一个VARCHAR简单的,ORDER BY它将按字母顺序排序,而不是按时间顺序排序.
有没有办法ORDER BY按时间顺序使用SQL?