I’ve been assigned to do further development on a website which is, at this moment, a site for managers of convenience stores to monitor what articles that’s inside the “grocery bag of the week”. The former developer did very sloppy work so whenever the managers think: “Damn! I need to edit this article because I just entered the wrong value of it”. They have to enter a new article with the same name and then they have two articles by the same name but with different price and DATE_TIME (the date and time when the article was entered). The database looks something like this:
________________________________________________
|___itemId___|___price___|______date_time______|
| 1 | 2.30 | 2012-01-01 00:00:00 |
| 2 | 1.50 | 2012-01-01 00:00:00 |
| 3 | 5.99 | 2012-01-01 00:00:00 |
| 4 | 0.99 | 2012-01-01 00:00:00 |
| 4 | 2.00 | 2012-01-01 00:10:00 |
| 4 | 4.99 | 2012-01-01 00:20:00 |
| 5 | 10.00 | 2012-01-01 00:00:00 |
| 6 | 39.99 | 2012-01-01 00:00:00 |
I was working on this SELECT itemId, price, MAX(date_time) FROM myTable to get the latest row of every item like this:
________________________________________________
|___itemId___|___price___|______date_time______|
| 1 | 2.30 | 2012-01-01 00:00:00 |
| 2 | 1.50 | 2012-01-01 00:00:00 |
| 3 | 5.99 | 2012-01-01 00:00:00 |
| 4 | 4.99 | 2012-01-01 00:20:00 |
| 5 | 10.00 | 2012-01-01 00:00:00 |
| 6 | 39.99 | 2012-01-01 00:00:00 |
But all i get is:
________________________________________________
|___itemId___|___price___|______date_time______|
| 4 | 4.99 | 2012-01-01 00:20:00 |
Can someone please help me on this matter?
Add a
GROUP BYclause: