Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 SQL:Can’;t使用group by时,按降序获取值_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php SQL:Can’;t使用group by时,按降序获取值

Php SQL:Can’;t使用group by时,按降序获取值,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我使用下面的查询连接并检索两个表中的值。它按降序显示值 Leads 63697 Ben 63698 Ben 63699 Ben 63700 Ben 63701 Ben log 2 63697 Ben 10% Qualifying 3 63697 Ben 20% Qualifying 4 63697 Ben 30%

我使用下面的查询连接并检索两个表中的值。它按降序显示值

Leads
63697       Ben
63698       Ben
63699       Ben
63700       Ben
63701       Ben


log

2   63697       Ben         10%     Qualifying
3   63697       Ben         20%     Qualifying
4   63697       Ben         30%     Qualifying
6   63698       Ben         30%     Qualifying
8   63698       Ben     80%     Quoted
10  63698       Ben         70%     Quoted
我想展示一下

63697       Ben         30%     Qualifying
63698       Ben         70%     Quoted
63699       Ben
63700       Ben
63701       Ben
问题是当我使用查询时

SELECT leads.id,leads.name, log.prob, log.current_stage FROM leads LEFT JOIN log ON log.leadid = leads.id WHERE leads.name = '$name' ORDER BY log.id DESC
它按降序显示日志表的所有详细信息。但当我试着把他们分组时

SELECT leads.id,leads.name, log.prob, log.current_stage FROM leads LEFT JOIN log ON log.leadid = leads.id WHERE leads.name = '$name' GROUP BY log.leadid ORDER BY log.id DESC
它从logs表中按升序获取值

63697       Ben         10%     Qualifying
63698       Ben         30%     Qualifying
63699       Ben
63700       Ben
63701       Ben
有人能告诉我我做错了什么吗

SELECT * FROM (
SELECT leads.id,leads.name, log.prob, log.current_stage, log.id AS logid FROM leads LEFT JOIN log ON log.leadid = leads.id WHERE leads.name = '$name' GROUP BY log.leadid
) ORDER BY logid DESC

我们经常看到这一点,只需将其包装在superquery中,如图所示。

您是按log.id排序的,它不是您选择的字段。无法执行此操作,因为ORDER BY是在SELECT指令之后计算的


将ORDER BY log.id更改为ORDER BY leads.id,这是我在SELECT指令中看到的唯一标识符。

非常感谢。。。。但我必须将组移动到包装外,并在子查询内按顺序移动,以使其工作…:)