2011-04-20 93 views
1

我想按日期排序;然而,在我修剪了日期的一部分之後。它不承認日期。有什麼建議麼?SQL按日期排序問題

SELECT Count(*) AS total, 
    DATE_FORMAT(install_date, '%d-%m-%Y') AS new_date 
FROM extable 
GROUP BY new_date 
ORDER BY new_date DESC 

---- OUTPUT -----

1583 31-12-2010 
1180 31-10-2010 
64 31-08-2010 
959 31-03-2011 
1520 31-01-2011 
1626 30-12-2010 
920 30-11-2010 
1608 30-10-2010 

回答

-1

您也可以按照Y-M-D的順序進行排序。這會給你正確的排序。

+0

我沒有看到您的答案。抱歉!。是的,我做了同樣的事情。 – snagcheol 2011-04-20 22:17:24

3

DATE_FORMAT被轉換您的日期與給定的格式的字符串。然後您按該字符串進行排序,在這種情況下,DBMS正在應用正確的排序。如果您想按日期排序,則應該按install_date排序。

+0

因此,格式化'%Y-%m-%d'works.Thanks – snagcheol 2011-04-20 22:16:01

+0

不,對此進行排序的正確方法是使用原始日期。這樣,您的排序與您顯示的日期無關。 – Brad 2011-04-20 22:18:05