【发布时间】:2012-06-23 04:09:19
【问题描述】:
$sql = "SELECT * FROM cars WHERE COUNT(brand)='4'";
$results = mysql_query($sql);
$rows = mysql_fetch_array($results);
print_r($rows);
表格汽车有这些列:
id brand price
0 bmw
1 corvette
2 mercedes
3 bmw
4 bmw
5 toyota
6 bmw
7 honda
8 lotus
这就是我想要做的,从表中返回'cars' 每个拥有 4 种不同汽车的品牌。在这个例子中,宝马有 4
4 辆不同的汽车是具有相同品牌名称的 4 个不同的行。
所以我试图呼应库存总数为4的品牌名称。
我希望我有道理,任何帮助将不胜感激。
编辑:我试过了 SELECT * FROM cars LEFT JOIN users ON cars.user_id=users.user_id HAVING count(user_id) = 4 这没有任何想法?
【问题讨论】:
-
您必须使用
having而不是where。应用where子句时,聚合函数的结果尚不可用。 -
仅供参考:您应该有一个单独的
brand表,其中包含BrandName和BrandID。品牌名称不是一成不变的。 -
谢谢。我正在尝试离开加入用户表,以便获取添加汽车列表的用户的电子邮件。但它似乎不像它的工作。它返回一个空白页。代码在上面