Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > MySQL > MySQL General forum

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-29-2008, 08:27 PM
=?ISO-8859-1?Q?Olav_M=F8rkrid?=
 
Posts: n/a
Default get all my newest messages

hello

i have a message table like this:

created datetime
sender int
recipient int
message text

to get all my messages i would do:

select * from message where sender = $MYID or recipient = $MYID

but how do i make a query that returns the rows of only the NEWEST
messages between myself and my contacts (regardless of who sent the
newest message)?

i tried using "group-wise maximum" mentioned in the mysql manual, but
can't figure it out. hope someone can help. thanks!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-29-2008, 08:27 PM
=?ISO-8859-1?Q?Olav_M=F8rkrid?=
 
Posts: n/a
Default Re: get all my newest messages

just to clarify, i want the

1. the newest message between myself and person A
2. the newest message between myself and person B
3. the newest message between myself and person C
4. the newest message between myself and person D

.... and so on
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-29-2008, 08:27 PM
Martijn Tonies
 
Posts: n/a
Default Re: get all my newest messages



> hello
>
> i have a message table like this:
>
> created datetime
> sender int
> recipient int
> message text
>
> to get all my messages i would do:
>
> select * from message where sender = $MYID or recipient = $MYID
>
> but how do i make a query that returns the rows of only the NEWEST
> messages between myself and my contacts (regardless of who sent the
> newest message)?


Define "newest".

> i tried using "group-wise maximum" mentioned in the mysql manual, but
> can't figure it out. hope someone can help. thanks!


Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, NexusDB, Oracle &
MS SQL Server
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-29-2008, 08:27 PM
Martijn Tonies
 
Posts: n/a
Default Re: get all my newest messages



> hi, i posted this clarification just after the original posting.
>
> what i want is:
>
> 1. the newest message between myself and person A
> 2. the newest message between myself and person B
> 3. the newest message between myself and person C
> 4. the newest message between myself and person D
>
> ... and so on


Still, define "newest":

- newest according to date?
- newest not yet read message?
- something else?

Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-29-2008, 08:27 PM
=?ISO-8859-1?Q?Olav_M=F8rkrid?=
 
Posts: n/a
Default Re: get all my newest messages

On 28/04/2008, Martijn Tonies <m.tonies@upscene.com> wrote:

> > 1. the newest message between myself and person A
> > 2. the newest message between myself and person B
> > 3. the newest message between myself and person C
> > 4. the newest message between myself and person D


> Still, define "newest":
>
> - newest according to date?
> - newest not yet read message?
> - something else?


newest according to date of creation.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-29-2008, 08:27 PM
Martijn Tonies
 
Posts: n/a
Default Re: get all my newest messages




> On 28/04/2008, Martijn Tonies <m.tonies@upscene.com> wrote:
>
> > > 1. the newest message between myself and person A
> > > 2. the newest message between myself and person B
> > > 3. the newest message between myself and person C
> > > 4. the newest message between myself and person D

>
> > Still, define "newest":
> >
> > - newest according to date?
> > - newest not yet read message?
> > - something else?

>
> newest according to date of creation.


There are probably other solutions, but this seems to work:

select *
from ( select * from msgs order by msgs.created desc ) t
where sender = 1 or recipient = 1
group by sender, recipient

Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 04-29-2008, 08:27 PM
=?ISO-8859-1?Q?Olav_M=F8rkrid?=
 
Posts: n/a
Default Re: get all my newest messages

On 28/04/2008, Martijn Tonies <m.tonies@upscene.com> wrote:

> select *
> from ( select * from msgs order by msgs.created desc ) t
> where sender = 1 or recipient = 1
> group by sender, recipient


not quite right. first comes all of MY newest messages, then comes all
of THEIR newest messages. for example:

S R
1 2
1 3
1 5
1 7
2 1
5 1

the final result should include EITHER "1 2" OR "2 1", depending on
which of the two is newest. same for "1 5" and "5 1".
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 04-29-2008, 08:27 PM
Martijn Tonies
 
Posts: n/a
Default Re: get all my newest messages


> > select *
> > from ( select * from msgs order by msgs.created desc ) t
> > where sender = 1 or recipient = 1
> > group by sender, recipient

>
> not quite right. first comes all of MY newest messages, then comes all
> of THEIR newest messages. for example:
>
> S R
> 1 2
> 1 3
> 1 5
> 1 7
> 2 1
> 5 1
>
> the final result should include EITHER "1 2" OR "2 1", depending on
> which of the two is newest. same for "1 5" and "5 1".


So, a newest message from "me to A" would exclude the newest message
from "A to me" (depending, of course, on the creation date)?

Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 04-29-2008, 08:27 PM
=?ISO-8859-1?Q?Olav_M=F8rkrid?=
 
Posts: n/a
Default Re: get all my newest messages

Exactly.

2008/4/28, Martijn Tonies <m.tonies@upscene.com>:
>
> > > select *
> > > from ( select * from msgs order by msgs.created desc ) t
> > > where sender = 1 or recipient = 1
> > > group by sender, recipient

> >
> > not quite right. first comes all of MY newest messages, then comes all
> > of THEIR newest messages. for example:
> >
> > S R
> > 1 2
> > 1 3
> > 1 5
> > 1 7
> > 2 1
> > 5 1
> >
> > the final result should include EITHER "1 2" OR "2 1", depending on
> > which of the two is newest. same for "1 5" and "5 1".

>
> So, a newest message from "me to A" would exclude the newest message
> from "A to me" (depending, of course, on the creation date)?
>
> Martijn Tonies
> Database Workbench - development tool for MySQL, and more!
> Upscene Productions
> http://www.upscene.com
> My thoughts:
> http://blog.upscene.com/martijn/
> Database development questions? Check the forum!
> http://www.databasedevelopmentforum.com
>

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 06:04 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145