返回最常出现的值

时间:2015-07-25 17:03:43

标签: mysql sql

我目前正在尝试选择表格中最常见的值

SALES:
-----------------------------------
NAME    | QUANTITY  
banana     8
pizza      1
banana     2
pizza      5
milk       2
banana     1
burger     4
---------------------------------

我试过了这个查询

SELECT `name`, COUNT(`name`) AS `value_occur` 
FROM `SALES`
GROUP BY `name`
ORDER BY `value_occur` DESC
LIMIT 1;

导致:

banana   3

但是,我想要的是一种将它与数量相乘的方法。

3 个答案:

答案 0 :(得分:1)

您可以创建如下查询:

SELECT name, (count(name)*sum(quantity)) AS TOTAL_QUANTITY
FROM SALES
ORDER BY TOTAL_QUANTITY DESC
LIMIT 1

我假设您想要每种产品的总量,并且您想要选择最经常性的产品。

(在w3c编辑器中尝试这个并且会工作,似乎存在一些我将调查的sql server的问题asap)

答案 1 :(得分:1)

只需要数量的总和。这似乎是你想要的:

SELECT name, SUM(quantity) AS sumq
FROM SALES
GROUP BY name
ORDER BY sumq DESC
LIMIT 1;

答案 2 :(得分:0)

如果您想要banana 33之类的答案,请转到以下查询

SELECT name, (COUNT(name)*SUM(Quantity)) AS value_occur 
FROM SALES
GROUP BY name
ORDER BY value_occur DESC
LIMIT 1;