繁体   English   中英

MYSQL 工作台。 如何计算 sql (mysql workbench) 中的年龄? 然后,在数据库中找到年龄的比例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM