SQL:在计算列

时间:2015-12-08 12:25:56

标签: php mysql sql

我是PHP的新手。我有一个包含2列CarAge的表格,其中包含重复的汽车名称。我希望计算具有相同年龄的Car列并显示名为Count的新列。

从HTML中我将Age列解析为

$userinput = $_POST['Age'];

我只想使用表中的$ userinput检索Age列,并计算与相同年龄相对应的相同汽车的数量。

我尝试像这样编码

$result = mysql_query("SELECT *,`Age`,COUNT(Age) As Age_count FROM `table` GROUP BY `Car`,`Age` HAVING (COUNT(Age)>=1) ORDER BY `Car` DESC") or die(mysql_error());

它按照我的意愿正确地完成工作,但它正在显示整个数据库,因为我正在使用' *'在我的SELECT查询中。我无法包含' $ userinput'对于此查询,我可以获得用户输入的Age的结果。我无法在查询中放置WHERE子句,因为它显示错误。

如果我有任何错误,请纠正我。谢谢。

此致 Athul

1 个答案:

答案 0 :(得分:0)

正如已经说过的那样,考虑切换到mysqli_,因为 mysql _ 已弃用。 至于将变量插入到查询中,它就像:

一样简单
$userinput = $_POST['Age'];
$result = mysql_query("SELECT COUNT(DISTINCT Car) As Age_count FROM `table` WHERE Age = {$userinput}" ) or die(mysql_error());

此代码段为您提供了特定年龄段的多种不同类型的汽车。