php - MySQL Min value query group by second column not getting the proper value of third column

标签 php mysql

我的表结构如下

vendor_id account_id 价格 代码

27 2 0.058 91

29 2 0.065 91

23 2 0.043 91

30 2 0.085 91

31 3 0.085 91

我必须得到代码应该等于 91 的最低价格,给定范围和 account_id 组之间的价格

我正在使用选择查询作为

从 tbl_input_values 中选择 MIN(price) 作为 min_price、account_id、vendor_id,其中 code='91' and price>=0 and price<=2 group by account_id

我得到的输出是

最低价格 account_id vendor_id

0.043 2 27

0.085 3 31

但应该是

最低价格 account_id vendor_id

0.043 2 23

0.085 3 31

最佳答案

试试这个查询-

SELECT
  t1.*
FROM tbl_input_values t1
JOIN (
  SELECT
    MIN(price) AS min_price,
    account_id
  FROM tbl_input_values
  WHERE code = '91' AND price >= 0 AND price <= 2
  GROUP BY account_id
  ) t2
    ON t1.account_id = t2.account_id AND t1.price = t2.min_price

关于php - MySQL Min value query group by second column not getting the proper value of third column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15379055/

相关文章:

php - 如何从 8 :00 am to 8:00 pm? 计算 15 分钟间隔内的可用时间

sql - 如何将具有相同列值的mysql行分组为一行?

c# - 当 .NET 运行时关闭连接池中的 (My)SQL 连接时

java - 获取计数列值 (MySQL/Java)

php - 在连接数据库之前执行工作

php - 重构 JavaScript 和 PHP 代码 [求职面试]

php - 在这种情况下是否可以有一个可为空的外键?

php - 使用 CakePHP 存储 SQL 数据以供离线使用

php - 与 PHP 一起使用 Node 作为 REST 服务器

mysql - 在数据库 (MySQL) 中表示和保留用户(使用用户名和密码以及社交登录名登录)