PHP:为什么这个select计数不能与GROUPBY一起正常工作?
我试图在我的PHP页面中选择COUNT*with GROUP BY 我有一个如下所示的数据库:PHP:为什么这个select计数不能与GROUPBY一起正常工作?,php,mysql,Php,Mysql,我试图在我的PHP页面中选择COUNT*with GROUP BY 我有一个如下所示的数据库: id name 1 W1 2 W1 3 W1 4 W2 5 W2 6 W4 7 W5 8 W4 $result2 = mysqli_query($db_conx, "SELECT COUNT(name) FROM packets GROUP BY name"); $row2 = mysqli_fetch_row($result2); $num2
id name
1 W1
2 W1
3 W1
4 W2
5 W2
6 W4
7 W5
8 W4
$result2 = mysqli_query($db_conx, "SELECT COUNT(name) FROM packets GROUP BY name");
$row2 = mysqli_fetch_row($result2);
$num2 = $row2[0];
echo $num2;
我的php计数函数如下所示:
id name
1 W1
2 W1
3 W1
4 W2
5 W2
6 W4
7 W5
8 W4
$result2 = mysqli_query($db_conx, "SELECT COUNT(name) FROM packets GROUP BY name");
$row2 = mysqli_fetch_row($result2);
$num2 = $row2[0];
echo $num2;
但是,上面的代码总是返回一个数字2
根据上面的例子,我的MYSQL数据应该返回4,但它总是返回2
有人能就这个问题提出建议吗
提前谢谢 我认为这是您打算运行的查询:
SELECT COUNT(DISTINCT name) FROM packets
正如您所期望的,这将计算数据包表中不同名称的数量
在您的情况下,会出现数据包W1、W2、W4和W5,因此不同的计数是4,而不是您预期的5。我认为这是您打算运行的查询:
SELECT COUNT(DISTINCT name) FROM packets
正如您所期望的,这将计算数据包表中不同名称的数量
在您的情况下,会出现数据包W1、W2、W4和W5,因此不同的计数是4,而不是您预期的5。为什么您认为它应该返回5?基于您给定的数据,它可以返回3、2或1,因为您尚未提供任何订单。你有什么要求?@gurvindersingh,打字错误。。我想打4号。。。冷静点Maaaaan…这是我在MYSQL上运行sql时使用这些数据得到的结果。w1=3,w2=2,w4=2,w5=1,按此顺序排列。基于此结果,行2[0]将是3。为什么您认为它应该返回5?基于您给定的数据,它可以返回3、2或1,因为您尚未提供任何订单。你有什么要求?@gurvindersingh,打字错误。。我想打4号。。。冷静点Maaaaan…这是我在MYSQL上运行sql时使用这些数据得到的结果。w1=3,w2=2,w4=2,w5=1,按此顺序排列。根据这个结果,第2行[0]将是3行。为什么会返回5行?@gurvindersingh你是对的,但我认为OP甚至对自己的数据感到困惑。让我更新一下。@TimBiegeleisen,不,我对任何事情都不困惑!你从哪里得到这个主意的@大卫希望现在这变得荒谬了。继续保持魅力,不必担心落选票或落选票。为什么会返回5票?@gurvindersingh你是对的,但我认为OP甚至对自己的数据感到困惑。让我更新一下。@TimBiegeleisen,不,我对任何事情都不困惑!你从哪里得到这个主意的@戴维霍普:现在这越来越荒谬了。保持魅力,不必担心落选或落选的选民