MySQL MAX() function returns wrong associated value -


i've tried various queries , read different answers , nothing seems give i'm looking for. advice appreciated.

i have table items, dates , quantities. each item, need latest date , associated quantity. table looks this:

item   date         qty 1234   2014-12-22   300 1234   2015-02-13   500 

after running query:

select item, max(date), qty table group item 

i this:

item   date         qty 1234   2015-02-13   300 

instead of qty of 500. i've tried couple of different solutions including this , this. first 1 gave records null in date. second 1 seems work, until try sum(qty) (there can multiple qty item on given date). since solution sorts date descending, , not cut out data, doesn't in scenario.

why original query not work? other ideas?

thanks!

of course does. need join want:

select t.* table t join      (select item, max(date) maxd       table t       group item      ) tmax      on t.item = tmax.item , t.date = tmax.maxd; 

your query should fail because qty not in group by. mysql allows it, other database return error.


Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

ios - Possible to get UIButton sizeThatFits to work? -