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指令中看到的唯一标识符。非常感谢。。。。但我必须将组移动到包装外,并在子查询内按顺序移动,以使其工作…:)