2015-08-06 4 views
1

Код:Как сделать «заказ» по месяцам и годам?

SELECT 

CONVERT(VARCHAR(10),Due_Date,101) AS Due_Date, 
COST_PER_ACRES, 
CASE WHEN Due_Amount IS NOT NULL AND Lease_Amount IS NOT NULL THEN '$' + CONVERT(VARCHAR(20),CAST(Due_Amount - Lease_Amount AS MONEY),1) 
WHEN Due_Amount IS NULL THEN '$0.00' ELSE '$' + CONVERT(VARCHAR(20),CAST(Due_Amount AS MONEY),1) END AS RENTAL_AMOUNT_DUE, 
CONVERT(VARCHAR(10),CHECK_DATE,101) AS Check_Date 

FROM tblpayments PH 
LEFT JOIN tblcheck CD 
    ON PH.ID = CD.lease_obligation_ID 

WHERE PH.PAYMENT_TYPE_ID = 1657 AND PH.LEASE_ID = 76 

ORDER BY YEAR(Due_Date) 

Я хочу знать, как я могу получить следующий вывод:

enter image description here

Мой выходной ток:

enter image description here

+0

'ORDER BY MONTH (Due_Date), YEAR (Due_Date)' –

+0

дубликат http://stackoverflow.com/questions/17271316/order-by-month-and-year-in-sql-with-sum – Phillip

ответ

2

Вы бы просто добавить month() до order by. Так что я думаю, что вы хотите:

ORDER BY MONTH(ph.Due_Date), YEAR(ph.Due_Date) 

(.. Я не знаю, где столбец происходит от Я просто предполагаю, ph)

В вашем случае, вы также можете сделать:

ORDER BY Due_Date 

Due_Date интерпретируется на основе псевдонима столбца. Кажется, это то, что вы хотите заказать.

Примечание: переименование столбца в соответствии с существующим столбцом может вызвать путаницу в ORDER BY.

Смежные вопросы