SQL最受欢迎

Ner*_*ros 5 php mysql

我有一个mysql表,其中包含与其订单相关的项目.


CREATE DATABASE IF NOT EXISTS `sqltest`;
USE `sqltest`;

DROP TABLE IF EXISTS `testdata`;
CREATE TABLE `testdata` (
  `orderID` varchar(10) DEFAULT NULL,
  `itemID` varchar(10) DEFAULT NULL,
  `qtyOrdered` int(10) DEFAULT NULL,
  `sellingPrice` decimal(10,2) DEFAULT NULL
)

INSERT INTO `testdata`(`orderID`,`itemID`,`qtyOrdered`,`sellingPrice`) 
values ('1','a',1,'7.00'),('1','b',2,'8.00'),('1','c',3,'3.00'),('2','a',1,'7.00'),('2','c',4,'3.00');
Run Code Online (Sandbox Code Playgroud)

预期结果:

A =(1 + 1)2

B = 2

C =(2 + 4)6 < - 最受欢迎


如何为每个项目添加所有数量并得出最高的数量?

它应该是相当紧张的前进,但我是SQL的新手,我无法解决这个问题:S

解决方案需要是mysql和/或php.

我想每个商品ID都需要某种临时的tally变量,但是看起来它可能会因太多商品而变得混乱.


回答:

(感谢nuqqsa)

SELECT itemID, SUM(qtyOrdered) AS total FROM testdata GROUP BY itemID ORDER BY total DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

nuq*_*qsa 6

这个怎么样:

SELECT itemID, SUM(qtyOrdered) AS total FROM testdata GROUP BY itemID ORDER BY total DESC;
Run Code Online (Sandbox Code Playgroud)