Dan06 Posted February 12, 2009 Share Posted February 12, 2009 I'm using a query that selects all records that have a particular recipient and matching ids. I want to refine the select criteria to include one record from each group based on recipient, message id, and latest date. The records are grouped based on "threadId." How can I do this? There are two tables involved: message_inbox and message_content. The message_content table has the following fields: msgId, threadId, msgParent, msgChild, msgDate, msgSubject, msgContent The message_inbox table has the following fields: msgRecipient, msgSender, msgId Here is my current mysql query: $messagesQuery = sprintf("SELECT msgSender, message_content.msgId, msgDate, msgSubject, msgContent FROM utilist.message_inbox, utilist.message_content WHERE msgRecipient = %s AND message_inbox.msgId = message_content.msgId", $format->formatValue($_SESSION["userId"])); Quote Link to comment https://forums.phpfreaks.com/topic/144940-refining-select-statement-to-include-one-recordgroup-based-on-date/ Share on other sites More sharing options...
fenway Posted February 15, 2009 Share Posted February 15, 2009 This the standard "groupwise-max" question that has been answered many times over. It's covered in one of the stickies, too. Quote Link to comment https://forums.phpfreaks.com/topic/144940-refining-select-statement-to-include-one-recordgroup-based-on-date/#findComment-762693 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.