使用 LIMIT 从 MySQL 表中选择平均值
Posted
技术标签:
【中文标题】使用 LIMIT 从 MySQL 表中选择平均值【英文标题】:Select average from MySQL table with LIMIT 【发布时间】:2010-12-23 16:29:21 【问题描述】:我正在尝试获取价格最低的 5 件商品的平均值,按附加到它们的用户名分组。但是,下面的查询给出了每个用户的平均价格(当然是价格),但我只想返回一个答案。
SELECT AVG(price)
FROM table
WHERE price > '0' && item_id = '$id'
GROUP BY username
ORDER BY price ASC
LIMIT 5
【问题讨论】:
我不明白你在做什么。您能否给出一个示例表结构、一些示例数据以及该数据的预期结果? 【参考方案1】:我想这就是你所追求的:
SELECT AVG(items.price)
FROM (SELECT t.price
FROM TABLE t
WHERE t.price > '0'
AND t.item_id = '$id'
ORDER BY t.price
LIMIT 5) items
它将返回 5 个最低价格的平均值 - 一个答案。
【讨论】:
恭喜达到 160K+ 代表!! 恭喜达到 201k+ 代表! 恭喜达到 224k+ 代表! 恭喜达到 265k+ 代表! 恭喜达到 300k+ 代表!【参考方案2】:下面的简单解决方案。
查询:
SELECT AVG(Column_name)
FROM (SELECT Column_name
FROM Table
WHERE ColumnID < number[Limit you want] )
【讨论】:
mysql 说:文档 #1248 - 每个派生表都必须有自己的别名以上是关于使用 LIMIT 从 MySQL 表中选择平均值的主要内容,如果未能解决你的问题,请参考以下文章