我有一个 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');
预期结果:
A = (1+1)2
B = 2
C = (2+4)6 <- 最受欢迎
如何将每件商品的所有数量相加并得出最高的数量?
它应该是相当直截了当的,但我是 SQL 的新手,我无法解决这个问题:S
解决方案需要是 mysql 或 php。
我想每个项目 ID 都需要某种临时计数变量, 但这似乎会因为项目太多而变得困惑。
回答:
(感谢 nuqqsa)
SELECT itemID, SUM(qtyOrdered) AS total FROM testdata GROUP BY itemID ORDER BY total DESC LIMIT 1;
最佳答案
这个怎么样:
SELECT itemID, SUM(qtyOrdered) AS total FROM testdata GROUP BY itemID ORDER BY total DESC;
关于php - SQL最流行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2847968/