2012-01-08 9 views
0

は、これまでのところ、私のクエリは次のようになります。どのようにdobで注文し、次に姓を注文してから、同じ年齢の姓の場合はファーストネームですか?

SELECT CONCAT (child_fname,' ',child_sname) AS 'Name', child_dob AS 'DoB', 
FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25) as 'Age' 
FROM Child 
ORDER BY child_dob, child_sname, child_fname; 

私はAgeを注文するために管理しているが、彼らは同じ年齢のときchild_fname、その後、child_snameを注文する方法がわかりませんか?

+0

huh?どういう意味ですか? – Bohemian

+0

あなたが持っているものは正しい、最も古いものが最初です。 – Randy

+0

多分あなたは子供のdob desc、child_sname、child_fnameをしたいですか? – xQbert

答えて

0

問題がどこにあるか私はわからないんだけど...

これは、その後、SNAME、その後、私のfnameは

SELECT CONCAT (child_fname,' ',child_sname) AS 'Name', child_dob AS 'DoB', 
FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25) as 'Age' 
FROM Child 
ORDER BY FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25), child_sname, child_fname; 
0
SELECT CONCAT (child_fname,' ',child_sname) AS 'Name', child_dob AS 'DoB', 
FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25) as 'Age' 
FROM Child 
ORDER BY FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25), child_sname, child_fname; 
0

によってあなたが複数の列に並べ替えることができ、年齢によって1次う次のような異なる方向の異なる列を昇順/降順に並べ替えることができます:

SELECT 
    CONCAT (child_fname,' ',child_sname) aS Name, 
    child_dob aS DoB, 
    FLOOR(DATEDIFF(CURRENT_DATE, child_dob)/365.25) as Age 
    FROM Child 
    ORDER BY Age,child_sname, child_fname; 
関連する問題