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

标签 mysql

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

我要查找的信息是:

  • 每个article_id有多少件商品
  • 每篇文章 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 语句中完成吗?

最佳答案

您可以使用最小值和最大值:

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 中,您需要包含所有不使用聚合函数的列

关于mysql - 如何使用 MySQL 获取每篇文章的最低/最高价格统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55990824/

相关文章:

php - Symfony 2.3 实体 bool 属性只允许一行为真

mysql - 如何使用 MySQL 数据库快速创建分页?

php - 如何从多个表中高效地访问用户数据

java - 通过 IntelliJ IDEA 将 MySQL 连接到 Java

php - 一起运行模型

php - 具有全局权限的数据库用户无权访问新创建的数据库

Python3 与 sql 变量

mySQL 导入/重复键

MySQL 加载数据 Infile Null 和表达式

PHP - SQL 如何从表中选择 ID 并插入到另一个表中?