對於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