Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不工作分组_Php_Sql_Mysql_Group By - Fatal编程技术网

Php 不工作分组

Php 不工作分组,php,sql,mysql,group-by,Php,Sql,Mysql,Group By,它不计算条目,只返回1。如果我删除GROUPBY子句,那么它就可以工作。如何通过修复组使其更好地工作?您正在通过tsuid进行分组 根据定义,每个tsuid组在组中只有一个不同的tsuid您希望它返回什么?您按tsuid分组 每个单独的tsuid组根据定义在组中只有一个不同的tsuid您希望它返回什么?其中的1不起任何作用,因此可以删除它 分组依据也可以删除,因为您没有按任何内容分组,您的计数不同在整个表中,不是吗 正如Orbling指出的,限制1也可以删除,因为COUNT DISTINCT根据

它不计算条目,只返回1。如果我删除GROUPBY子句,那么它就可以工作。如何通过修复组使其更好地工作?

您正在通过
tsu
id
进行分组


根据定义,每个
tsu
id
组在组中只有一个不同的
tsu
id
您希望它返回什么?

您按
tsu
id分组


每个单独的
tsu
id
组根据定义在组中只有一个不同的
tsu
id
您希望它返回什么?

其中的
1
不起任何作用,因此可以删除它

分组依据
也可以删除,因为您没有按任何内容分组,您的
计数不同
在整个表中,不是吗

正如Orbling指出的,
限制1
也可以删除,因为
COUNT DISTINCT
根据定义只返回一个值


它能做你想做的吗?

其中的
1不做任何事情,因此可以删除它

$sSql = "SELECT COUNT(DISTINCT `tsu`.`id`) AS `count`
         FROM `" . $this->_sPrefix . "users` AS `tsu`
         INNER JOIN `" . $this->_sPrefix . "entries` AS `tse` 
             ON `tsu`.`id`=`tse`.`subscriber_id` 
                 AND `tse`.`subscriber_type`='" . BX_DOL_SBS_TYPE_VISITOR . "'
         WHERE 1
         GROUP BY `tsu`.`id`
         LIMIT 1";
分组依据
也可以删除,因为您没有按任何内容分组,您的
计数不同
在整个表中,不是吗

正如Orbling指出的,
限制1
也可以删除,因为
COUNT DISTINCT
根据定义只返回一个值


它能满足你的需要吗?

你想在“计数”中得到什么?…一个特定用户ID有多少订阅者?匹配的ID来自两个不同的表。我不是mysql的专家,但“限制1”这件事在我看来非常可疑。$this->u sPrefix=“`;drop table[prefix]\u users;-->/确保您保护此数据库,无论它如何工作。我当然希望您在代码中生成了$this->u sPrefix,并且其中没有任何用户输入。您试图在“计数”中获得的是什么?…一个特定用户ID的订户数是多少?匹配的ID来自两个不同的表。我不是mysql专家,但“限制1”这一点在我看来非常可疑。$this->u sPrefix=“`;drop table[前缀](用户)--“//无论如何使用,请确保保护此数据库。我确实希望您在代码中生成了$this->sPrefix,并且其中没有任何用户输入。条目的实际计数:23Aye、
WHERE
groupby
LIMIT
可以使用。@whatshakin请参阅@littlegreen的答案。entr的实际计数ies:23Aye,
WHERE
分组依据
限制
可以执行。@whatshakin见@littlegreen的答案。
$sSql = "SELECT COUNT(DISTINCT `tsu`.`id`) AS `count`
         FROM `" . $this->_sPrefix . "users` AS `tsu`
         INNER JOIN `" . $this->_sPrefix . "entries` AS `tse` 
             ON `tsu`.`id`=`tse`.`subscriber_id` 
                 AND `tse`.`subscriber_type`='" . BX_DOL_SBS_TYPE_VISITOR . "'
         WHERE 1
         GROUP BY `tsu`.`id`
         LIMIT 1";