在mysql中找到group by的最小列值

时间:2018-09-23 10:30:31

标签: mysql

Harshit是一位社会工作者,在世界各地都感到惊奇。 这是他的所有旅行记录,由不同的组织以旅行表的形式推荐。 Trip Table

我只想打印Harshit所访问的所有国家的最低费用条目。

我已经尝试过按操作者分组,如下所述。 Tried for minimun Expense Trip

在country = IND的情况下,我没有收到最低费用的条目

我的必需数据是:

Required Result

任何人都可以帮助我找出所需结果的mysql查询。

1 个答案:

答案 0 :(得分:1)

您需要整行的每个国家/地区的最低费用金额。

  • 首先,您需要使用Group By with Min()函数在派生表t3中确定每个国家/地区的最低费用值。
  • derived table进行联接,使用国家/地区和费用值,以获取每个国家/地区具有最低费用值的行。

尝试以下查询:

SELECT t.*   
FROM trip AS t 
INNER JOIN (SELECT t2.country, MIN(t2.expense) AS min_expense 
            FROM trip AS t2 
            GROUP BY t2.country) AS t3 
  ON t3.min_expense = t.expense 
     AND t3.country = t.country