php - SQL : Can’t grab values in descending order when using group by

标签 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%     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

它从日志表中按升序获取值

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

经常看到这种情况,只需将其包装在 super 查询中,如图所示。

关于php - SQL : Can’t grab values in descending order when using group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575542/

相关文章:

php - 使用php mysql计算从数据库中选择的2个位置之间的距离

php - 密码中不允许字符?

mysql - 尝试使用 UTC_TIMESTAMP 创建 MySQL 表

mysql - Phpmyadmin sql 导入错误,Joomla 2.5

php - mPdf 中的图像未在服务器中显示,但在本地主机中运行良好

PHP从mysql中选择数据文本范围

php - 使用返回散列数组的外部 PHP SOAP Web 服务的 C# .NET 客户端出现问题

更新后的 MySQL 触发器 - 如果列不为空则更新

mysql - 如何对数据进行排序,然后在mysql中对行进行编号?

mysql - 如何在 localhost mac 上安装 mysql 服务器和 phpmyadmin