繁体   English   中英

使用SQL Group by查询获取最小值和最大值

[英]Get the min and max value using sql group by query

我使用此查询使用GROUP BY来获取Property_SubType的总数。现在我想从数据库中获取特定Property_SubType的最低和最高价格?

在我的查询下面:

SELECT Matrix_Unique_ID,Property_Type,Property_SubType,Subdivision, 
        COUNT(*) as count 
FROM ncrmls_mls_res_listings_sorted_2 
WHERE `city`='ABC' 
GROUP BY Property_SubType,Property_Type 

您似乎想要此查询:

SELECT Property_Type, Property_SubType, MIN(Price), MAX(Price) 
FROM ncrmls_mls_res_listings_sorted_2 
WHERE city = 'ABC' 
GROUP BY Property_Type, Property_SubType;

您似乎正在使用MySQL的(错误)功能,该功能允许聚合查询中的SELECT中有额外的列。

在我看来,您可能需要有关最小值和最大值的完整数据。 如果是这样,则可以使用子查询:

SELECT r.*
FROM ncrmls_mls_res_listings_sorted_2 rl JOIn
     (SELECT Property_Type, Property_SubType,
             MIN(Price) as minprice, MAX(Price) as maxprice
      FROM ncrmls_mls_res_listings_sorted_2 
      WHERE city = 'ABC' 
      GROUP BY Property_Type, Property_SubType
     ) pts
     ON pts.Property_Type = rl.Property_Type AND
        pts.Property_SubType = rl.Property_SubType AND
        rl.price IN (minprice, maxprice);

MySQL中有一个MIN()MAX()函数。 这些返回所选列的最小值和最大值。

尝试这样的事情(我的头顶,未经测试):

SELECT Matrix_Unique_ID,
  Property_Type,
  MIN(Property_SubType),
  MAX(Property_SubType),
  Subdivision, 
  COUNT(*) as count 
FROM
  ncrmls_mls_res_listings_sorted_2 
WHERE
  `city`='ABC' 
GROUP BY
  Property_SubType, Property_Type 

希望这可以帮助你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM