Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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/9/ios/100.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 如果我在查询中插入group by,我的搜索栏将不再工作_Php_Mysql_Sql - Fatal编程技术网

Php 如果我在查询中插入group by,我的搜索栏将不再工作

Php 如果我在查询中插入group by,我的搜索栏将不再工作,php,mysql,sql,Php,Mysql,Sql,嗨,我已经实现了一个查询,可以调整我的搜索栏: $sql = "SELECT * FROM clienti INNER JOIN campagne_cliente ON campagne_cliente.cliente_id_campagna = clienti.cliente_id INNER JOIN campagne ON campagne.id_campagna = campagne_cliente.id_campagna_cliente " . $queryCondition; $r

嗨,我已经实现了一个查询,可以调整我的搜索栏:

$sql = "SELECT *
FROM clienti
INNER JOIN campagne_cliente
ON campagne_cliente.cliente_id_campagna = clienti.cliente_id
INNER JOIN campagne
ON campagne.id_campagna = campagne_cliente.id_campagna_cliente  " . $queryCondition;
$result = mysqli_query($connessione,$sql);
但在这种情况下,它对我来说是不起作用的,因为它复制了“campagne.id_campagna”的“n”倍

我需要一个使用group by的查询,如下所示:

$sql = "SELECT *
FROM clienti
INNER JOIN campagne_cliente
ON campagne_cliente.cliente_id_campagna = clienti.cliente_id
INNER JOIN campagne
ON campagne.id_campagna = campagne_cliente.id_campagna_cliente GROUP BY campagne.id_campagna " . $queryCondition;
$result = mysqli_query($connessione,$sql);
只是我很清楚,作为一个参数,它是不被接受的,但以这种方式,只有在视觉层面对我来说,它才是正确的,因为我不必为多少个产品显示相同的名称,而只需为多少个活动显示一次客户的名称

如何使用“分组方式”使搜索栏正常工作?

试试这个

$sql = "SELECT DISTINCT OWNER
FROM clienti 
INNER JOIN campagne_cliente
ON campagne_cliente.cliente_id_campagna = clienti.cliente_id
INNER JOIN campagne
ON campagne.id_campagna = campagne_cliente.id_campagna_cliente  " . $queryCondition;
$result = mysqli_query($connessione,$sql);
试试这个

$sql = "SELECT DISTINCT OWNER
FROM clienti 
INNER JOIN campagne_cliente
ON campagne_cliente.cliente_id_campagna = clienti.cliente_id
INNER JOIN campagne
ON campagne.id_campagna = campagne_cliente.id_campagna_cliente  " . $queryCondition;
$result = mysqli_query($connessione,$sql);
这样行吗

sql = "SELECT DISTINCT(*)
FROM clienti
WHERE
EXISTS (SELECT 0 FROM campagne_cliente 
INNER JOIN campagne ON campagne.id_campagna = campagne_cliente.id_campagna_cliente
WHERE campagne_cliente.cliente_id_campagna = clienti.cliente_id)" 
. $queryCondition;
$result = mysqli_query($connessione,$sql);
告诉我它是否对你有帮助。

这样行吗

sql = "SELECT DISTINCT(*)
FROM clienti
WHERE
EXISTS (SELECT 0 FROM campagne_cliente 
INNER JOIN campagne ON campagne.id_campagna = campagne_cliente.id_campagna_cliente
WHERE campagne_cliente.cliente_id_campagna = clienti.cliente_id)" 
. $queryCondition;
$result = mysqli_query($connessione,$sql);

告诉我它是否对您有帮助。

为什么在不涉及聚合函数的情况下分组?@jarlh因为我只需要让所有者的名称在视频中出现一次,而不是像许多产品那样出现多次,因此我需要一个组,然后选择不同的所有者名称,或者如果其sql server使用分区,但所有者可以有多行,如果其他列的值不同,则需要指定要选择的值。添加一些示例表数据和预期结果-都是格式化文本,而不是图像。如果查询没有聚合函数,那么group by子句是多余的。为什么不涉及聚合函数时使用group by?@jarlh,因为我需要使所有者的名称只在视频中出现一次,没有很多产品那么多,因此我需要一个组,然后选择不同的所有者名称,或者如果其sql server使用Partition,但所有者可以有多行,其他列的值不同-您需要指定要选择的值。添加一些示例表数据和预期结果-全部作为格式化文本,而不是图像。如果查询没有聚合函数,则group by子句是多余的,它不起作用,因为以这种方式,我在视频中看到的所有者名称是不起作用的产品的两倍,因为这样的话,我在视频中看到了主人的名字,是很多产品的两倍。谢谢你为我花时间,谢谢你为我花时间