如何计算年龄等于一定数量的人数?
How to count number of people, whose age equals certain number?
如何统计年龄等于18岁的人数?
<?php $emp_query=mysql_query("SELECT
'employeeID',
`LastName`,
`birthday`,
(YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
ORDER BY `LastName`");
while($row=mysql_fetch_array($emp_query)){ $id=$row['employeeID']; ?>
<td><?php echo $row['LastName']; ?></td>
<td><?php echo $row['birthday']; ?></td>
<td><?php echo $row['age']?></td>
<?php } ?>
如果您对 age
计算结果满意,则可以将查询改写为:
SELECT COUNT(*)
FROM (SELECT (YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
) e
WHERE age = 18;
您可以使用 DATEDIFF()
函数将一个日期与其他日期相减以获得日期的天数差异。
SELECT
`employeeID`,
`LastName`,
`birthday`
FROM
`employee`
WHERE
DATEDIFF(`birthday`, CURDATE()) / 365 < specified_age
最好给它定义一个stored procedure,允许动态输入(specified_age
)和returns满足条件的行。如果您只有一个输入,只需将 specified_age
替换为一个数字,以年为单位。 Fe 未满 18 岁,取 18
代替。
像这样的东西应该可以工作:
$emp_query = mysql_query("SELECT
`employeeID`,
`LastName`,
`birthday`,
`year`,
`age`
WHERE `age` = $number
FROM `employee`
ORDER BY `LastName`");
然后"number"你可以从一个表单中得到例如$number = $_POST['your form'];
如果这是您的设置,否则您只需将查询中的 $number 替换为特定号码并上传文件。
//做你的 while 或 foreach 循环
如何统计年龄等于18岁的人数?
<?php $emp_query=mysql_query("SELECT
'employeeID',
`LastName`,
`birthday`,
(YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
ORDER BY `LastName`");
while($row=mysql_fetch_array($emp_query)){ $id=$row['employeeID']; ?>
<td><?php echo $row['LastName']; ?></td>
<td><?php echo $row['birthday']; ?></td>
<td><?php echo $row['age']?></td>
<?php } ?>
如果您对 age
计算结果满意,则可以将查询改写为:
SELECT COUNT(*)
FROM (SELECT (YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
) e
WHERE age = 18;
您可以使用 DATEDIFF()
函数将一个日期与其他日期相减以获得日期的天数差异。
SELECT
`employeeID`,
`LastName`,
`birthday`
FROM
`employee`
WHERE
DATEDIFF(`birthday`, CURDATE()) / 365 < specified_age
最好给它定义一个stored procedure,允许动态输入(specified_age
)和returns满足条件的行。如果您只有一个输入,只需将 specified_age
替换为一个数字,以年为单位。 Fe 未满 18 岁,取 18
代替。
像这样的东西应该可以工作:
$emp_query = mysql_query("SELECT
`employeeID`,
`LastName`,
`birthday`,
`year`,
`age`
WHERE `age` = $number
FROM `employee`
ORDER BY `LastName`");
然后"number"你可以从一个表单中得到例如$number = $_POST['your form'];
如果这是您的设置,否则您只需将查询中的 $number 替换为特定号码并上传文件。
//做你的 while 或 foreach 循环