0

添付されたデータベースがあり、BirthYear、BirthMonth、およびBirthDayNumberに分割されたBirthDate列があります。

データベース画像

例えば。誕生日の場合:

Wednesday, May 10, 1899

BirthYear:1899
BirthMonth : 5
BirthDayNumber :10

データベースを次の形式で並べ替えたい(月と日付は昇順で、月と日付が等しい場合は年を降順で並べ替える必要があります)

01 January 2011 
02 January 2012 
02 January 2008 
05 August 2012 
06 September 2001 
12 December 1899 

この形式でリストを表示するためのクエリを手伝っていただけませんか。

4

6 に答える 6

1

これがうまくいくと思う

SQLFiddle

このコードを使用する

SELECT birthdate FROM testdate 
ORDER BY 
BirthDayNumber ASC, BirthMonth ASC, BirthYear Desc
于 2012-10-04T08:18:01.523 に答える
0

これを試して

SELECT * FROM TABLE ORDER BY BirthYear DESC, BirthDayNumber ASC, BirthMonth ASC
于 2012-10-04T05:22:22.690 に答える
0

以下のクエリを試してください

SELECT * FROM `tblename`  order by BirthYear DESC, BirthMonth ASC,BirthDayNumber ASC

ありがとう

于 2012-10-04T05:36:44.687 に答える
0

そのようなことを試してください:

SELECT ROW_NUMBER() OVER (PARTITION BY DT ORDER BY YE DESC, MO ASC, DT ASC) AS NR, DT, MO, YE FROM SOMEDATA
于 2012-10-04T07:44:27.317 に答える
0

これを試して

SELECT CONCAT(BirthDayNumber,' ', MonthName(CONCAT('1900-',CONVERT(BirthMonth,char(2)),'-1')), ' ', Birthyear)
FROM table
ORDER BY BirthMonth ASC, BirthDay ASC, BirthYear DESC
于 2012-10-04T08:13:56.517 に答える
0
SELECT birthdate FROM testdate 
ORDER BY 
BirthMonth  ASC,BirthDayNumber  ASC, BirthYear Desc
于 2012-10-04T08:42:07.010 に答える