On 12/14/2011 8:21 PM, Dilip Ranganathan wrote:
I am not an expert in SQL, so do bear with me if I am asking the obvious.

Given:

timestamp |  col1  |   col2
============================
xx            abc      5
yy            abc      4
zz            def      7
rr            def      6


SELECT timestamp, col1, min(col2)
FROM table
GROUP BY col1
ORDER BY min(col2) ASC

returns:

xx       abc     4
zz       def     6

It looks like the timestamp column is kind of random since it is not
part of the group by clause. Suppose I want the results to be:

yy  abc 4

rr  def 6

what kind of SQL would I have to write?

select b.timestamp, a.col1, b.col2
from (select distinct col1 from myTable) a join myTable b on
b.rowid = (select rowid from myTable where col1 = a.col1 order by col2 limit 1)
order by b.col2;

--
Igor Tandetnik

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to