이것은 날짜 열을 기준으로 정렬 할 때 일반적으로 발생하는 문제입니다. 날짜 열에는 일반적으로 정확한 시간 (밀리 초)이 포함되기 때문에 첫 번째 날짜에 두 개의 동일한 항목을 가져올 확률이 대부분의 응용 프로그램에서 너무 낮기 때문에 정렬 순서의 이후에있는 항목은 실제로 무시됩니다 효과.
당신이해야 할 일은 당신이 만족하는 해결책 (예 : 1 일)으로 자른 후 으로 주문하면입니다.이 시점에서 ORDERing에 동일한 항목이 생기고 두 번째 조항이 적용됩니다.
내가 여기에 대한 정확한 구문을 알고 충분히 MySQL은,하지만 SQL Server에서 모르는
내가 아는 가장 간단한 방법은 당신에게 일일의 해상도를 줄 것이다
SELECT * FROM Table
ORDER BY FLOOR(CAST(CreatedOn AS Float)), LastModifiedOn DESC
것 - 이유는 SQL Server 날짜가 부동 소수점으로 변환 될 때 날짜를 나타내는 정수 부분을 제공하기 때문입니다. 다른 해상도가 필요한 경우 ORDER BY 문에서 DATEADD 및 DATEDIFF를 사용하거나 ASCII 정렬 가능 형식 (예 : YYYYMMDD hhmmss)의 문자열로 날짜를 변환하고 적절한 위치에서자를 수 있습니다.그리드에 표시 할 때
ORDER BY
-- 1 displays first the newly created, 2 displays all modified in last order
CASE WHEN LastModifiedOn IS NOT NULL THEN 2 ELSE 1 END,
COALESCE(LastModifiedOn, CreatedON) DESC
가능한 복제본 http://stackoverflow.com/questions/514943/php-mysql-order-by-two-columns, http://stackoverflow.com/questions/2051162/sql-multiple-column-ordering. 또한 http://stackoverflow.com/questions/2099923/how-do-i-order-by-multiple-columns-in-a-select-query – outis
을 참조하십시오. 데이터의 몇 가지 예와 원하는 방식을 제공 할 수 있습니까? 어떻게 나타나고 실제로 나타나고있는가? – Amadiere