MySQL,如何显示按字母顺序列出的儿童和同龄儿童的下降年龄?

时间:2011-07-12 11:47:34

标签: mysql

我按结果顺序遇到困难。它为我提供了我需要的所有信息,但是年龄相同的孩子不按字母顺序显示姓氏。

我需要一个列表,显示查询当天每个孩子的姓名和年龄(以年为单位) 跑。 该列表应按年龄(即最早的孩子为首)的降序排序 同名儿童按姓氏,名字按字母顺序排列。

这是我的语法

SELECT *, TIMESTAMPDIFF(YEAR, child_dob, CURRENT_TIMESTAMP) AS age 
FROM Children 
ORDER BY child_dob, child_sname, child_fname;

我真的被卡住了,希望有人可以光一点。

由于

3 个答案:

答案 0 :(得分:1)

你忘记了两件事:

  1. 您需要按年龄排序,而不是按出生日期排序 - 除非您真的只想在同一天出生的孩子按姓氏排序。
  2. 要先显示年龄较大的孩子,您需要使用DESC关键字按年龄排序。
  3. 这是正确的查询:

    SELECT *, TIMESTAMPDIFF(YEAR, child_dob, CURRENT_TIMESTAMP) AS age 
    FROM Children 
    ORDER BY age DESC, child_sname, child_fname;
    

答案 1 :(得分:0)

您按child_dob订购,大概是日期字段,而不是age(这是孩子的年龄)。

ORDER BY age DESC, child_sname, child_fname

答案 2 :(得分:0)

SELECT *, TIMESTAMPDIFF(YEAR, child_dob, CURRENT_TIMESTAMP) AS age 
FROM Children 
ORDER BY age, child_sname, child_fname;