我有一个问题想出查询。场景是:生成一个列表,显示运行查询当天子项的名称和年龄(以年为单位)。该列表应按年龄的降序存储(即,年龄最大的儿童),姓氏,姓氏按字母顺序列出相同年龄的儿童。表结构:
儿童表 (child_id [主键], child_fame, 小孩的名字, child_gender, child_dob)
child_id_1 = 7月2日/ 1999
child_id_2 = 13 /二千〇二分之一十一
子-ID_3 = 13 /二千〇二分之一十一
child_id_4 = 26 /一千九百九十九分之一十
child_id_5 = 04/05/2004等...
答案 0 :(得分:0)
如果您需要的是从出生日期开始计算孩子的年龄,您可以查看以下链接:http://ma.tt/2003/12/calculate-age-in-mysql/评论中有示例和其他方式。
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
答案 1 :(得分:0)
这应该这样做:
SELECT *, TIMESTAMPDIFF(YEAR, child_dob, CURRENT_TIMESTAMP) AS age
FROM child
ORDER BY child_dob, child_sname, child_fname;