我想从两个表中获取每组的最低值
表格如下
Table 1 Table 2
| GPN | Amt | | GPN | Date |
| A | 10 | | A | 2016-09-10 |
| A | 15 | | A | 2016-09-18 |
| A | 20 | | B | 2016-09-10 |
| A | 25 | | B | 2016-09-11 |
| A | 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 |
我想要这个值
例如
日期 = 2016-09-10,
关于那里有多少 GPN,所以我必须获得每个 GPN 的最低金额
所以结果会是这样的
Result
| GPN | Amt |
| A | 10 |
| B | 20 |
| D | 7 |
我尝试过使用ASC LIMIT 1,所以显然它只会显示一个原始数据,但我不知道该怎么做。
我用 php 循环做到了这一点,但我正在寻找是否可以在 mysql 查询中实现,这样会很棒。
最佳答案
内连接和分组依据
select table1.GPN, min(table2.Amt)
from table1
inner join table2 on table1.GPN= table2.GPN
where date(table2.date ) = str_to_date('2016-09-10', '%Y-%m-%d')
group by table1.GPN
关于php - 如何获取mysql中每组的最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38703745/