Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 MySQL查询中的按问题分组_Php_Mysql_Group By - Fatal编程技术网

Php MySQL查询中的按问题分组

Php MySQL查询中的按问题分组,php,mysql,group-by,Php,Mysql,Group By,我对此查询有问题: SELECT a.created_by, CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author FROM #__content AS a LEFT JOIN #__users AS ua ON ua.id = a.created_by WHERE a.state='1' GROUP BY a.created_by ORDER BY autho

我对此查询有问题:

SELECT a.created_by, 
CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author 
FROM #__content AS a 
LEFT JOIN #__users AS ua ON ua.id = a.created_by 
WHERE a.state='1' 
GROUP BY a.created_by 
ORDER BY author
返回的结果在某种程度上是正确的,但我的问题是,它按ID分组,但仍返回一些重复的名称。这些名称相同,但ID不同

如果这些名称具有不同的ID,如何对其进行分组

提前感谢您的帮助。

作者分组

SELECT 
    a.created_by, 
    CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author 
FROM #__content AS a 
LEFT JOIN #__users AS ua ON ua.id = a.created_by 
WHERE a.state='1' 
GROUP BY a.created_by ,author
ORDER BY author

我已经试过了,出于某种原因,当我按作者分组时,它返回的结果比它应该返回的结果多得多:S.group by a.create_by,authorI也试过了,结果返回的是double、triple和cuadriple,而它们应该更少:S.@PLATANIUM你会发布“SELECT a.created_by,a.created_by_by_alias”的输出吗,ua.name FROM u content AS LEFT JOIN u users AS ua ON ua.id=a.created_by WHERE a.state='1'`问题是,create_by和author是两个不同的查询条件,也就是说,每个create_by可能有多个autohr,所以做相反的事情,在这个方案中你无法得到你想要的结果。也许我误解了你的意思,是你的选择吗?我发现了问题所在。这是弗沃尔夫说的。每个用户可能有多个别名,因此这就是问题所在。我想我会在视图中做一个if语句,只打印一次名称。