Hi Piotr, Looks fine to me. Isn't 123 the max weight for those rows with name 'C'?
Rgds, Simon On 04/02/2008, Piotr Budny <[EMAIL PROTECTED]> wrote: > Hello, > I've got strange behaviour, I want to select row ID of MAX(something) row for > group: > > CREATE TABLE "test" ( "id" INTEGER , "name" CHAR(50) , "weight" INTEGER ); > INSERT INTO "test" VALUES(1,'A',1); > INSERT INTO "test" VALUES(2,'A',50); > INSERT INTO "test" VALUES(3,'B',1); > INSERT INTO "test" VALUES(4,'C',35); > INSERT INTO "test" VALUES(10,'C',2); > INSERT INTO "test" VALUES(15,'C',123); > > select name,max(weight) from test group by name; > > The result is fine: > A|50 > B|1 > C|123 > > Now, I want to get the ID for such max rows: > select id,name,max(weight) from test group by name; > > 2|A|50 > 3|B|1 > 15|C|123 > > It is OK. Now: > delete from test; > INSERT INTO "test" VALUES(15,'C',123); > INSERT INTO "test" VALUES(1,'A',1); > INSERT INTO "test" VALUES(2,'A',50); > INSERT INTO "test" VALUES(3,'B',1); > INSERT INTO "test" VALUES(4,'C',35); > INSERT INTO "test" VALUES(10,'C',2); > > (the id=15 is now on the top) > > sqlite> select id,name,max(weight) from test group by name; > 2|A|50 > 3|B|1 > 10|C|123 > > No way, the id=10 is C, but not "123". > What's wrong? Isn't it a bug? > Tried this on MySQL with same data. MySQL works fine. > > Regards, > vip > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users