我按结果顺序遇到困难。它为我提供了我需要的所有信息,但是年龄相同的孩子不按字母顺序显示姓氏。
我需要一个列表,显示查询当天每个孩子的姓名和年龄(以年为单位) 跑。 该列表应按年龄(即最早的孩子为首)的降序排序 同名儿童按姓氏,名字按字母顺序排列。
这是我的语法
SELECT *, TIMESTAMPDIFF(YEAR, child_dob, CURRENT_TIMESTAMP) AS age
FROM Children
ORDER BY child_dob, child_sname, child_fname;
我真的被卡住了,希望有人可以光一点。
由于
答案 0 :(得分:1)
你忘记了两件事:
DESC
关键字按年龄排序。这是正确的查询:
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;