lundi 29 juin 2015

Group by with MIN value in same query while presnting all other columns

I have a view called a with this data:

 ID    tDate        name     task   val
23   2015-06-14
23   2015-06-25
126  2015-06-18
126  2015-06-22
126  2015-06-24

ID is integer and tDate is timestamp.

Basically I want to get for each ID the min value of tDate and present this row. meaning:

ID   tDate       name     task   val
23   2015-06-14
126  2015-06-18

I wrote this query:

select ID, min(tDate)
from a
group by ID
order by ID

This is working BUT it doesn't allow me to present all other columns of a

for example if I do:

select ID, min(tDate), name
from a
group by ID
order by ID

it says that name must be under group by. So I wrote this query:

select ID, MIN(tDate), name, task, val , ....
from a
group by ID, name, task, val , ....
order by ID

And this one doesn't work. it gives false results.

How do I solve it?

Aucun commentaire:

Enregistrer un commentaire