I want to group below data from sub_prd_id. but before that i need order data from max created_at.
I wrote query as below.
Query (will always work but is slower than other query):
SQLFIDDLEExample
SELECT t1.*
FROM prd_data t1
WHERE t1.id = (SELECT t2.id
FROM prd_data t2
WHERE t2.sub_prd_id= t1.sub_prd_id
ORDER BY t2.created_at DESC
LIMIT 1)
Other Query (will work only if sub_prd_id has one MAX value):
SELECT t1.*
FROM prd_data t1
WHERE t1.created_at = (SELECT MAX(t2.created_at)
FROM prd_data t2
WHERE t2.sub_prd_id= t1.sub_prd_id)
Result:
| ID | NAME | SUB_PRD_ID | CREATED_AT |
--------------------------------------------------------------
| 4 | Grape | 10 | April, 28 2013 03:11:55+0000 |
| 6 | Banana | 11 | April, 28 2013 03:23:14+0000 |
| 7 | Pineapple | 12 | April, 28 2013 03:23:44+0000 |