如何使用MySQL获取每篇文章的最低/最高价格统计信息?

时间:2019-05-05 10:04:15

标签: mysql

我正在尝试获取存储在MySQL 5.x数据库中的可用文章的统计数据。

我正在寻找的信息是:

  • 每个article_id有多少项可用
  • 每个商品编号的最低,最高价格(cl.price)是多少

第一个很简单:

SELECT 
 cw.article_id, -- unique identifier
 cl.title,
 count(cw.article_id) AS c -- how many items per article id availble?
FROM 
 `articles` a 
INNER JOIN classifieds_watches cw ON a.article_id = cw.article_id
INNER JOIN classifieds cl ON cw.cl_id = cl.ID
WHERE 1
GROUP BY 
 cw.article_id
ORDER BY 
 c DESC

但是如何获取定价信息?可以在一个MySQL语句中完成吗?

1 个答案:

答案 0 :(得分:1)

您可以使用最小和最大:

SELECT 
   cw.article_id, -- unique identifier
   cl.title,
   count(cw.article_id) AS c -- how many items per article id availble?
   min(cl.price) as minimum,
   max(cl.price) as maximum
FROM `articles` a 
   INNER JOIN classifieds_watches cw ON a.article_id = cw.article_id
   INNER JOIN classifieds cl ON cw.cl_id = cl.ID
GROUP BY cw.article_id,cl.title
ORDER BY  c DESC

不需要WHERE 1,因为它一直TRUE。在GROUP BY中,您需要包括所有不使用聚合函数的列