Select the value of max(date) and id with mysql












0















I want the last dated record. But my query doesn't work. Where am I doing wrong?



Example data:



|-------------------------------------------------------------------|
| id | messagges | mes_date | send_user | rec_user |
|-------------------------------------------------------------------|
| 1 | hello | 2019-01-18 12:12:12 | 7 | 1 |
| 2 | forget | 2019-01-16 10:10:10 | 8 | 3 |
| 3 | say | 2019-02-20 14:14:14 | 9 | 1 |
| 4 | drink | 2018-12-16 08:08:08 | 10 | 3 |
|-------------------------------------------------------------------|


My query:



SELECT distinct lst.id,lst.messagges,lst.mes_date, lst.rec_user
FROM mes_table lst
join (select mes_date, id from messagges
order by mes_date desc) as msg on lst.id = msg.id
group by lst.rec_user


I need:



|--------------------------------------------------------|
| id | messagges | mes_date | rec_user |
|--------------------------------------------------------|
| 2 | forget | 2019-01-16 10:10:10 | 3 |
| 3 | say | 2019-02-20 14:14:14 | 1 |
|--------------------------------------------------------|









share|improve this question







New contributor




Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    I want the last dated record. But my query doesn't work. Where am I doing wrong?



    Example data:



    |-------------------------------------------------------------------|
    | id | messagges | mes_date | send_user | rec_user |
    |-------------------------------------------------------------------|
    | 1 | hello | 2019-01-18 12:12:12 | 7 | 1 |
    | 2 | forget | 2019-01-16 10:10:10 | 8 | 3 |
    | 3 | say | 2019-02-20 14:14:14 | 9 | 1 |
    | 4 | drink | 2018-12-16 08:08:08 | 10 | 3 |
    |-------------------------------------------------------------------|


    My query:



    SELECT distinct lst.id,lst.messagges,lst.mes_date, lst.rec_user
    FROM mes_table lst
    join (select mes_date, id from messagges
    order by mes_date desc) as msg on lst.id = msg.id
    group by lst.rec_user


    I need:



    |--------------------------------------------------------|
    | id | messagges | mes_date | rec_user |
    |--------------------------------------------------------|
    | 2 | forget | 2019-01-16 10:10:10 | 3 |
    | 3 | say | 2019-02-20 14:14:14 | 1 |
    |--------------------------------------------------------|









    share|improve this question







    New contributor




    Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I want the last dated record. But my query doesn't work. Where am I doing wrong?



      Example data:



      |-------------------------------------------------------------------|
      | id | messagges | mes_date | send_user | rec_user |
      |-------------------------------------------------------------------|
      | 1 | hello | 2019-01-18 12:12:12 | 7 | 1 |
      | 2 | forget | 2019-01-16 10:10:10 | 8 | 3 |
      | 3 | say | 2019-02-20 14:14:14 | 9 | 1 |
      | 4 | drink | 2018-12-16 08:08:08 | 10 | 3 |
      |-------------------------------------------------------------------|


      My query:



      SELECT distinct lst.id,lst.messagges,lst.mes_date, lst.rec_user
      FROM mes_table lst
      join (select mes_date, id from messagges
      order by mes_date desc) as msg on lst.id = msg.id
      group by lst.rec_user


      I need:



      |--------------------------------------------------------|
      | id | messagges | mes_date | rec_user |
      |--------------------------------------------------------|
      | 2 | forget | 2019-01-16 10:10:10 | 3 |
      | 3 | say | 2019-02-20 14:14:14 | 1 |
      |--------------------------------------------------------|









      share|improve this question







      New contributor




      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I want the last dated record. But my query doesn't work. Where am I doing wrong?



      Example data:



      |-------------------------------------------------------------------|
      | id | messagges | mes_date | send_user | rec_user |
      |-------------------------------------------------------------------|
      | 1 | hello | 2019-01-18 12:12:12 | 7 | 1 |
      | 2 | forget | 2019-01-16 10:10:10 | 8 | 3 |
      | 3 | say | 2019-02-20 14:14:14 | 9 | 1 |
      | 4 | drink | 2018-12-16 08:08:08 | 10 | 3 |
      |-------------------------------------------------------------------|


      My query:



      SELECT distinct lst.id,lst.messagges,lst.mes_date, lst.rec_user
      FROM mes_table lst
      join (select mes_date, id from messagges
      order by mes_date desc) as msg on lst.id = msg.id
      group by lst.rec_user


      I need:



      |--------------------------------------------------------|
      | id | messagges | mes_date | rec_user |
      |--------------------------------------------------------|
      | 2 | forget | 2019-01-16 10:10:10 | 3 |
      | 3 | say | 2019-02-20 14:14:14 | 1 |
      |--------------------------------------------------------|






      mysql query






      share|improve this question







      New contributor




      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 12 hours ago









      Tota1907Tota1907

      1




      1




      New contributor




      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Tota1907 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          0















          • Don't mix DISTINCT and GROUP BY. The do roughly the same thing.

          • When you want just the last, use ORDER BY .. DESC LIMIT 1


          Simplify to



          SELECT   lst.id, lst.messagges, lst.mes_date, lst.rec_user
          FROM mes_table AS lst
          JOIN messagges AS msg ON msg.id = lst.id
          ORDER BY msg.mes_date DESC
          LIMIT 1





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "182"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });






            Tota1907 is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f227529%2fselect-the-value-of-maxdate-and-id-with-mysql%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0















            • Don't mix DISTINCT and GROUP BY. The do roughly the same thing.

            • When you want just the last, use ORDER BY .. DESC LIMIT 1


            Simplify to



            SELECT   lst.id, lst.messagges, lst.mes_date, lst.rec_user
            FROM mes_table AS lst
            JOIN messagges AS msg ON msg.id = lst.id
            ORDER BY msg.mes_date DESC
            LIMIT 1





            share|improve this answer




























              0















              • Don't mix DISTINCT and GROUP BY. The do roughly the same thing.

              • When you want just the last, use ORDER BY .. DESC LIMIT 1


              Simplify to



              SELECT   lst.id, lst.messagges, lst.mes_date, lst.rec_user
              FROM mes_table AS lst
              JOIN messagges AS msg ON msg.id = lst.id
              ORDER BY msg.mes_date DESC
              LIMIT 1





              share|improve this answer


























                0












                0








                0








                • Don't mix DISTINCT and GROUP BY. The do roughly the same thing.

                • When you want just the last, use ORDER BY .. DESC LIMIT 1


                Simplify to



                SELECT   lst.id, lst.messagges, lst.mes_date, lst.rec_user
                FROM mes_table AS lst
                JOIN messagges AS msg ON msg.id = lst.id
                ORDER BY msg.mes_date DESC
                LIMIT 1





                share|improve this answer














                • Don't mix DISTINCT and GROUP BY. The do roughly the same thing.

                • When you want just the last, use ORDER BY .. DESC LIMIT 1


                Simplify to



                SELECT   lst.id, lst.messagges, lst.mes_date, lst.rec_user
                FROM mes_table AS lst
                JOIN messagges AS msg ON msg.id = lst.id
                ORDER BY msg.mes_date DESC
                LIMIT 1






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 12 hours ago









                Rick JamesRick James

                41.5k22258




                41.5k22258






















                    Tota1907 is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    Tota1907 is a new contributor. Be nice, and check out our Code of Conduct.













                    Tota1907 is a new contributor. Be nice, and check out our Code of Conduct.












                    Tota1907 is a new contributor. Be nice, and check out our Code of Conduct.
















                    Thanks for contributing an answer to Database Administrators Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f227529%2fselect-the-value-of-maxdate-and-id-with-mysql%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    ف. موراي أبراهام

                    صرب

                    كأس إنترتوتو