Ben bir tablo vardır:Sql Server GROUP'da tarihe göre sipariş nasıl biçimlendirilir? aşağıdaki gibi
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
: geçtim sayısını görüntülemek için SQL Server bir sorgu yazmaya çalışılıyor
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
/aşağıdaki biçimde günde sonuçlarını başarısız sorguda aşağıdaki Ben teşebbüs:
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');
sonuç kümesi doğru fakat sipariş biçimlendirilmiş tarih dizesiyle gelir (ay-gün-yıl Alfabetik müttefik). Sonucu gerçek tarihte nasıl test edebilirim (TestDate)? MySQL'de, yukarıdaki sorguda son satır yerine ORDER BY TestDate
yapmış olabilir. Hemen hemen zaten orada onunla Bu çalışması gerekir
SELECT FORMAT(TestDate, 'MMM-dd-yyyy') as FormattedDate, Result, Count(*)
FROM student_test_records
GROUP BY TestDate, Result
ORDER BY TestDate;
Vay, bu işe yarıyor! Kadronun neden gerekli olduğunu açıklar mısınız? – devnull
çünkü zaman damgasını kaldırmanız gerektiğinden, sqlserver bu biçimi bir tarih olarak tanıyamaz. Bunun yerine convert/cast kullanmış olsaydınız farklı olurdu –