I tried that Peter and for some reason it's still selecting the oldest date not the newest??? Seems odd? Also I'd really like to just select id because I'll be using this in a subselect.

Thanks!
Tim

On Dec 8, 2006, at 10:31 AM, Peter Bradley wrote:

Ysgrifennodd Tim McIntyre:
Thanks for the responses guys however I was running out the door yesterday and I oversimplified my problem. Sorry about that, let me try again.

Here is my "status_histories" table with some data:

id order_id code type created_at 79 1 1 StatusHistoryOrder 2006-12-06 16:46:36 80 1 1 StatusHistoryOrderPayment 2006-12-06 16:46:37 81 1 2 StatusHistoryOrder 2006-12-06 16:46:55 82 1 1 StatusHistoryOrder 2006-12-06 16:47:22 83 1 2 StatusHistoryOrder 2006-12-06 16:47:34 84 2 1 StatusHistoryOrder 2006-12-07 09:50:44 85 2 1 StatusHistoryOrderPayment 2006-12-07 09:50:44 86 2 2 StatusHistoryOrder 2006-12-07 09:50:59 87 2 1 StatusHistoryOrder 2006-12-07 09:52:41 88 2 2 StatusHistoryOrder 2006-12-07 09:54:42 89 3 1 StatusHistoryOrder 2006-12-07 11:57:44 90 3 1 StatusHistoryOrderPayment 2006-12-07 11:57:44 91 4 1 StatusHistoryOrder 2006-12-07 11:57:58 92 4 1 StatusHistoryOrderPayment 2006-12-07 11:57:58

Basically what I'm trying to do is get the most recent "StatusHistoryOrder" for each order_id.

something to the effect of this pseudo sql:
SELECT id FROM status_histories WHERE created_at > all_other_created_ats_in_this_group GROUP BY order_id;

Hope that makes some sense?
SELECT order_id, MAX(created_at)
FROM status_histories
WHERE type = 'StatusHistoryOrder'
GROUP BY order_id

Does that hit the spot?


Peter



Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind.
  - Dr. Seuss




Reply via email to