繁体   English   中英

MySQL计数查询返回数字值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM