<i id='IpWAc'><tr id='IpWAc'><dt id='IpWAc'><q id='IpWAc'><span id='IpWAc'><b id='IpWAc'><form id='IpWAc'><ins id='IpWAc'></ins><ul id='IpWAc'></ul><sub id='IpWAc'></sub></form><legend id='IpWAc'></legend><bdo id='IpWAc'><pre id='IpWAc'><center id='IpWAc'></center></pre></bdo></b><th id='IpWAc'></th></span></q></dt></tr></i><div id='IpWAc'><tfoot id='IpWAc'></tfoot><dl id='IpWAc'><fieldset id='IpWAc'></fieldset></dl></div>

<small id='IpWAc'></small><noframes id='IpWAc'>

      • <bdo id='IpWAc'></bdo><ul id='IpWAc'></ul>
      <tfoot id='IpWAc'></tfoot>
      <legend id='IpWAc'><style id='IpWAc'><dir id='IpWAc'><q id='IpWAc'></q></dir></style></legend>

    1. 返回 MySQL 中每个“分组依据"的“最后"行

      时间:2023-05-23

          <tbody id='TXGer'></tbody>

        1. <legend id='TXGer'><style id='TXGer'><dir id='TXGer'><q id='TXGer'></q></dir></style></legend>

              <i id='TXGer'><tr id='TXGer'><dt id='TXGer'><q id='TXGer'><span id='TXGer'><b id='TXGer'><form id='TXGer'><ins id='TXGer'></ins><ul id='TXGer'></ul><sub id='TXGer'></sub></form><legend id='TXGer'></legend><bdo id='TXGer'><pre id='TXGer'><center id='TXGer'></center></pre></bdo></b><th id='TXGer'></th></span></q></dt></tr></i><div id='TXGer'><tfoot id='TXGer'></tfoot><dl id='TXGer'><fieldset id='TXGer'></fieldset></dl></div>

              <small id='TXGer'></small><noframes id='TXGer'>

                <bdo id='TXGer'></bdo><ul id='TXGer'></ul>

              • <tfoot id='TXGer'></tfoot>
                本文介绍了返回 MySQL 中每个“分组依据"的“最后"行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                限时送ChatGPT账号..

                是否有更有效的方法来执行以下操作?

                Is there a more efficient way of doing the following?

                select * 
                    from foo as a
                    where a.id = (select max(id) from foo where uid = a.uid group by uid)
                    group by uid;
                )
                

                这个答案看起来很相似,但这个答案是最好的方法吗 - 如何在 MySQL 中为每个组选择第一行?

                This answer looks similar, but is this answer the best way of doing this - How to select the first row for each group in MySQL?

                谢谢,

                克里斯.

                附言表格看起来像:

                CREATE TABLE foo (
                    id INT(10) NOT NULL AUTO_INCREMENT,
                    uid INT(10) NOT NULL,
                    value VARCHAR(50) NOT NULL,
                    PRIMARY KEY (`id`),
                    INDEX `uid` (`uid`)
                )
                

                数据:

                id, uid, value
                 1,   1, hello
                 2,   2, cheese
                 3,   2, pickle
                 4,   1, world
                

                结果:

                id, uid, value
                 3,   2, pickle
                 4,   1, world
                

                参见 http://www.barricane.com/2012/02/08/mysql-select-last-matching-row.html 了解更多详情.

                See http://www.barricane.com/2012/02/08/mysql-select-last-matching-row.html for more details.

                推荐答案

                试试这个查询 -

                SELECT t1.* FROM foo t1
                  JOIN (SELECT uid, MAX(id) id FROM foo GROUP BY uid) t2
                    ON t1.id = t2.id AND t1.uid = t2.uid;
                

                然后使用EXPLAIN来分析查询.

                SELECT t1.* FROM foo t1
                  LEFT JOIN foo t2
                    ON t1.id < t2.id AND t1.uid = t2.uid
                WHERE t2.id is NULL;
                

                这篇关于返回 MySQL 中每个“分组依据"的“最后"行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:GROUP_CONCAT 在 Django 中的等价物 下一篇:用于提供大量数据的查询的最佳 MySQL 设置?

                相关文章

              • <legend id='wvySg'><style id='wvySg'><dir id='wvySg'><q id='wvySg'></q></dir></style></legend>

                  <tfoot id='wvySg'></tfoot>

                    <small id='wvySg'></small><noframes id='wvySg'>

                      <bdo id='wvySg'></bdo><ul id='wvySg'></ul>
                    <i id='wvySg'><tr id='wvySg'><dt id='wvySg'><q id='wvySg'><span id='wvySg'><b id='wvySg'><form id='wvySg'><ins id='wvySg'></ins><ul id='wvySg'></ul><sub id='wvySg'></sub></form><legend id='wvySg'></legend><bdo id='wvySg'><pre id='wvySg'><center id='wvySg'></center></pre></bdo></b><th id='wvySg'></th></span></q></dt></tr></i><div id='wvySg'><tfoot id='wvySg'></tfoot><dl id='wvySg'><fieldset id='wvySg'></fieldset></dl></div>