Tôi có một bảng như sau:Cách đặt hàng theo Ngày trong Sql Server GROUP BY được định dạng ngày?
Table: student_test_records
Student TestDate Result
------- ------------------ -------
A 2015-01-26 17:28:11 Pass
B 2015-01-24 17:28:11 Fail
C 2015-01-26 17:28:11 Pass
D 2015-01-26 17:28:11 Fail
E 2014-05-23 17:28:11 Pass
F 2013-06-23 17:28:11 Pass
G 2014-05-23 17:28:11 Fail
Tôi đang cố gắng để viết một truy vấn trong SQL Server để hiển thị số lượng thông qua/không kết quả mỗi ngày theo định dạng sau:
FormattedDate Result Count
----------- ------ -----
May-23-2013 Pass 1
May-23-2014 Fail 1
May-23-2014 Pass 1
Jan-24-2015 Fail 1
Jan-26-2015 Fail 1
Jan-26-2015 Pass 2
Các sau đây là truy vấn tôi đã cố gắng:
SELECT FORMAT(TestDate, 'MMM-dd-yyyy') as FormattedDate, Result, Count
FROM student_test_records
GROUP BY FORMAT(TestDate, 'MMM-dd-yyyy'), Result
order BY FORMAT(TestDate, 'MMM-dd-yyyy');
Tập kết quả là đúng, nhưng thứ tự đi kèm theo chuỗi ngày được định dạng (chữ cái theo tháng-năm-năm) đồng minh). Làm cách nào để đặt kết quả vào ngày thực tế (TestDate)? Trong MySQL, tôi có thể đã thực hiện ORDER BY TestDate
thay vì dòng cuối cùng trong truy vấn ở trên.
Chà, nó hoạt động! Bạn có thể vui lòng giải thích tại sao diễn viên là cần thiết? – devnull
vì bạn cần xóa dấu thời gian, sqlserver không thể nhận dạng định dạng đó là ngày tháng. Sẽ khác nếu bạn đã sử dụng chuyển đổi/truyền –