Mysql 卡在选择查询上
我想知道是否有人能帮我解答一个我一直在苦苦思索的问题 我有两张桌子: 价格和访客 价格: 在本表中,第一列表示0-4、4-12、12-80岁年龄组及其相应的价格 年龄组 0 4. 12 八十 价格 0 5. 20 十五 访客: 名字 辛迪 鲍勃 生日 2001-01-28 1958-03-01 我想让一份精选声明告诉我访客的名字和他们必须支付的价格 所以我可能需要类似的东西来了解他们的年龄: yearcurdate-yearvisitors.BirthDate 然后我猜我也需要这样的东西:Mysql 卡在选择查询上,mysql,sql,Mysql,Sql,我想知道是否有人能帮我解答一个我一直在苦苦思索的问题 我有两张桌子: 价格和访客 价格: 在本表中,第一列表示0-4、4-12、12-80岁年龄组及其相应的价格 年龄组 0 4. 12 八十 价格 0 5. 20 十五 访客: 名字 辛迪 鲍勃 生日 2001-01-28 1958-03-01 我想让一份精选声明告诉我访客的名字和他们必须支付的价格 所以我可能需要类似的东西来了解他们的年龄: yearcurdate-yearvisitors.BirthDate 然后我猜我也需要这样的东西: 其中
其中maxPrices.AgeGroup可以使用此查询
SELECT
visitors.name, visitors.birthdate, DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthdate, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(birthdate, '00-%m-%d'))
AS age, (select price from prices where age_group < age order by age_group desc limit 1) as price
FROM
visitors
这是给你的。有两种可能:在年龄组列中指定最低年龄。计算实际年龄。年龄组是指最高最低年龄小于或等于实际年龄的组。在答案中添加了一个查询,似乎有效。我不会使用您的表达式来获取年龄。有闰日之类的事情。好吧,你有什么建议吗。我不介意几天左右,但我认为这个表达式会起作用:DATE\u FORMATFROM\u DAYSDATEDIFFNOW,birthdate,%y现在固定查询以处理闰年。[链接]你太快了。我今天在SO提出了同样的算法。不,我是指上面的算法。我们不同步:-我删除了可能被误解的评论。