对于group by 和 order by 并用 的分析


 

今天朋友问我一个sql查询。

 

需求是 找到idapi最近那条数据,说明idapi 是重复的,于是就简单的写了

  SELECT * FROM `ag_alarm_history`   group by `idApi` order by `createTime` desc

发现结果不对

于是 网上查阅资料得到

group by order by 连用 无效 可以使用一下的替换

SELECT
    `idAlarmHistory`,
    SUBSTRING_INDEX(
        group_concat(
            `idApi`
            ORDER BY
                `createTime` DESC
        ),
        ',',
        1
    ) AS priCommodityID,
        SUBSTRING_INDEX(
        group_concat(
            `createTime`
            ORDER BY
                `createTime` DESC
        ),
        ',',
        1
    ) AS createDate
FROM
    ag_alarm_history
WHERE
    1
GROUP BY
    `idApi`;

转载一篇详细的文章

https://www.cnblogs.com/devzxd/p/mysql-groupby-orderby.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM