我有一个数据库,里面有几百个客户,所有这些都是独一无二的。但是,如果某些客户属于某个家庭,则会将其链接在一起。 E.g。
我有一个家庭ID,可以链接这些客户,例如A. Jones夫人是客户编号005,B.Jones先生是客户编号017,因为他们有关系,我已经为他们分配了家庭ID 001。
我在网上搜索过,但似乎没有什么地方可以为我提供任何帮助,以便我可以做一些mySQL计数来回应家庭ID = 001的人数。
另外,有什么办法,我可以返回两个单独的客户记录,因为mySQL搜索条件是familyID = 001。
非常感谢,
汤姆。
编辑:意识到我会把乘客而不是顾客,我的坏!此外,这些名称是出于明显的DPA原因而制定的:)答案 0 :(得分:3)
您需要COUNT()
功能
SELECT count(*) AS count FROM customers WHERE familyID="001"
您可以使用列名替换*
,使其更快一些。
答案 1 :(得分:1)
在这种情况下你可以使用计数功能。它可以用作。
Select count(*) form TABLE NAME where familyID = "001"
答案 2 :(得分:1)
$sql='SELECT count(familyID) AS count FROM customers WHERE familyID="001"';
在这里,您可以获得familyID = 001
的客户数量但是这位乘客来自哪里?与客户的关系是什么?
如果是关于顾客而不是乘客那么
$sql='SELECT * FROM customers WHERE familyID="001"';
$query=mysql_query($sql);
$count=mysql_num_rows($query);
while($fetch_arr=mysql_fetch_array($query)){
$familyName=$fetch_arr['name'];
echo $familyName;
}
您可以从*获取所有记录,从$ count获得可以获得客户数量的记录
答案 3 :(得分:0)
如果您想要使用OVER
函数的唯一记录和计数:
SELECT customers.id,
customers.additional_columns,
count(1) OVER (PARTITION BY familyID) AS count
FROM customers
答案 4 :(得分:0)
您可以执行类似
的操作$result = mysql_query("SELECT * FROM families where familyID='001'", $link);
$num_rows = mysql_num_rows($result);
答案 5 :(得分:-1)
对于你的第一个问题,这将做
$result = @mysql_query("SELECT * FROM tbl_name WHERE familyID = '001'");
echo mysql_num_rows($result); //This line should display the count