我目前正在尝试选择表格中最常见的值
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
但是,我想要的是一种将它与数量相乘的方法。
答案 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;