[英]A mySQL count query to return a numeric value?
我有一个建立了数百个客户的数据库,他们都是唯一的。 但是,如果某些客户是一个家庭的一部分,他们就会联系在一起。 例如
我有一个链接这些客户的家庭ID,例如A. Jones夫人的客户编号为005,B.Jones先生的客户编号为017,并且由于它们的相关性,我为他们分配了家庭ID 001。
我已经在网上搜索过,但是对于向我提供任何有关如何执行某种mySQL计数以呼应WHERE familyID = 001的人数的帮助,似乎没有什么地方有用。
另外,有什么办法,考虑到familyID = 001的mySQL搜索标准,我可以返回两条单独的客户记录。
非常感谢,
汤姆。
编辑:意识到我会把乘客而不是客户,我的坏! 另外,这些名称是由明显的DPA原因组成的:)
您想要COUNT()
函数
SELECT count(*) AS count FROM customers WHERE familyID="001"
您可以将*
替换为列名,以使其更快一些。
在这种情况下,可以使用count函数。
Select count(*) form TABLE NAME where familyID = "001"
$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获得您的客户数量
如果要唯一记录和计数,请使用OVER
函数:
SELECT customers.id,
customers.additional_columns,
count(1) OVER (PARTITION BY familyID) AS count
FROM customers
你可以做类似的事情
$result = mysql_query("SELECT * FROM families where familyID='001'", $link);
$num_rows = mysql_num_rows($result);
对于第一个问题,这将
$result = @mysql_query("SELECT * FROM tbl_name WHERE familyID = '001'");
echo mysql_num_rows($result); //This line should display the count
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.