Would you help me out as I am new to sql. I am using the following mySQL query:
SELECT * FROM tags WHERE TagNo LIKE '%' ORDER BY TagNo DESC, id DESC;
My id is auto-incremented every time a new TagNo is added.
I get this:
TagNo, id: 
 - 9, 4 
 - 9, 3  
 - 9, 2  
 - 9, 1  
 - 8, 400  
 - 8, 399  
 - 8, 398  
 - 8, 397
But I need the latest 3 id for any given TagNo.
TagNo, id: 
- 9, 4 
- 9, 3  
- 9, 2  
- 8, 400  
- 8, 399  
- 8, 398  
I tried this from Bill Karwin post but GROUP By only shows 1 tag and having COUNT(*) seems to restrict only id with value < 3 .. id dynamically grows per TagNo
SELECT i1.* FROM database i1 LEFT OUTER JOIN ct_database i2 ON (i1.TagNo = i2.TagNo AND i1.id < i2.id) GROUP BY i1.id HAVING COUNT(*) < 3 ORDER BY TagNo
I've been trying for a week to figure out.It would be great if someone can help.
