mySQL - 获取 2 个最常见的项目

标签 mysql database phpmyadmin

您好,我有一个名为 items 的表,如下所示:

items table

itemname | itemprice
---------------------
orange   | 0.50
pear     | 0.40
apple    | 0.40
banana   | 0.75

我还有一张记录每次销售的表格:

sales table

date     | itemname | qty
---------------------
17/12/13 | orange   | 4
22/12/13 | banana   | 6
23/12/13 | banana   | 2
29/12/13 | pear     | 3
02/01/14 | orange   | 2
05/01/14 | pear     | 6
05/01/14 | banana   | 5
06/01/14 | apple    | 2

我想要做的是获取最畅销的 2 件商品的商品名称和价格。所以查询应该返回:

itemname | itemprice
---------------------
banana   | 0.70
pear     | 0.40

我可以得到 2 个最常见的项目,但这是错误的,因为需要考虑数量而不是销售表中项目名称的频率。

最佳答案

SELECT i.itemname, i.itemprice
FROM items i
JOIN sales s ON i.itemname = s.itemname
GROUP BY s.itemname
ORDER BY SUM(s.qty) DESC
LIMIT 2

SQL Fiddle

如果您想符合 ANSI,请将 GROUP BY 更改为

GROUP BY i.itemname, i.itemprice

关于mySQL - 获取 2 个最常见的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920498/

相关文章:

mysql - grails tomcat jndi 的最佳 mysql 数据源属性

php - 检查单个 MySQL 记录是否存在的有效方法?

mysql - 如何更新连接值总和的字段?

mysql - 等待表级锁 - mysql

php - MySQL 无法看到 PHP 中的列。确定为 SQL 语句

android - sqlite3按最大值查询并按第二个因素过滤

mysql - 如何在Spring中同步数据库访问

sql - 由于排序规则不匹配,对两个数据库的查询有错误

mysql - Phpmyadmin 运行很慢

php - 无法在 Windows 上本地使用 phpMyAdmin 配置 MySQL