php - How to get Lowest value of each group in mysql -


i want lowest value of each group 2 table

table below

    table 1                         table 2          |   gpn |   amt |           |   gpn |   date        | |     |   10  |           |     |   2016-09-10  | |     |   15  |           |     |   2016-09-18  | |     |   20  |           |   b   |   2016-09-10  | |     |   25  |           |   b   |   2016-09-11  | |     |   30  |           |   b   |   2016-09-12  | |   b   |   20  |           |   c   |   2016-10-12  | |   b   |   40  |           |   c   |   2016-10-13  | |   b   |   60  |           |   c   |   2016-10-14  | |   b   |   80  |           |   d   |   2016-09-10  | |   b   |   100 |           |   d   |   2016-10-13  | |   c   |   3   |                            |   c   |   6   |                            |   c   |   9   |                            |   c   |   12  |                            |   c   |   15  |                            |   d   |   7   |                            |   d   |   10  |                            |   d   |   13  |                            |   d   |   16  |                            |   d   |   19  |                            |   d   |   22  |                            

how want value

for example

date = 2016-09-10,

on how many gpn there have every gpn's lowest amt

so result

    result           |   gpn |   amt | |     |   10  | |   b   |   20  | |   d   |   7   | 

i have tried using asc limit 1 show 1 raw but have no idea how that.

and did php loop looking if possible in mysql query awesome.

inner join , group

select table1.gpn, min(table2.amt)  table1  inner join table2 on table1.gpn= table2.gpn date(table2.date )  = str_to_date('2016-09-10', '%y-%m-%d')  group table1.gpn 

Comments