[英]MYSQL Workbench. How can I calculate age in sql (mysql workbench)? Then, find the ratio of age in database
新手在这里。
您好,我的任务是在数据库中查找年龄比率。 我心想,我可能需要计算年龄才能找出比率(我可能错了)。
基本上,我希望能够在数据库中找到用户的年龄和年龄比例。
表结构如下
id | name | bday | country
2 | John | 1999-11-07 | Sweden
我如何计算年龄,然后在数据库中找到年龄的比例?
谢谢
SELECT YEAR(CURDATE()) -YEAR(bday)
-- YEAR DIFFERENCE
- IF(DATE_ADD(bday, INTERVAL (YEAR(CURDATE()) - YEAR(bday)) YEAR) > CURDATE(), 1, 0)
-- -1 if the birthday hasn't happend yet
AS age FROM users
这是你可以找到年龄的方法
比率是一个比较,所以你需要一个基值来做 1:Ratio 无论如何请检查https://www.w3schools.com/sql/func_mysql_avg.asp以找到平均值(然后你可以将它与另一个比较)
我不确定您是否试图在单个查询(年龄和比率)中完成此操作,但这应该计算每个单独行的年龄:
SELECT id, name, country, TIMESTAMPDIFF(YEAR, bday, CURDATE()) AS age FROM `your_table`
将所有行年龄加在一起,它看起来像这样:
SELECT SUM(TIMESTAMPDIFF(YEAR, bday, CURDATE())) AS total_age FROM `your_table`
添加获取总行数
SELECT SUM(TIMESTAMPDIFF(YEAR, bday, CURDATE())) AS total_age, COUNT(id) AS total_users FROM `your_table`
这些结果应该为您提供计算该比率所需的总年龄和用户数量!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.