通过查询使用sql组获取最小值和最大值

时间:2018-03-15 11:40:21

标签: mysql sql

我使用此查询来获取使用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 

2 个答案:

答案 0 :(得分:1)

您似乎想要此查询:

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);

答案 1 :(得分:-1)

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 

希望这会帮助你!