Mysql 如何分离记录以获取金额

Mysql 如何分离记录以获取金额,mysql,stock,Mysql,Stock,我的存货总共有160件 如何获取前100个数量总数和后60个数量总数 该表按日期和库存ID排序 tblStock +----------+------------+----------+----------+------------+ + Stock ID + Product ID + Quantity + Amount + Date + +----------+------------+----------+----------+------------+ + 1

我的存货总共有160件

如何获取前100个数量总数和后60个数量总数

该表按日期和库存ID排序

tblStock
+----------+------------+----------+----------+------------+
+ Stock ID + Product ID + Quantity + Amount   + Date       +
+----------+------------+----------+----------+------------+
+        1 +       1001 +       50 +    10.00 + 2014-11-10 +
+----------+------------+----------+----------+------------+
+        2 +       1001 +       70 +    11.00 + 2014-11-11 +
+----------+------------+----------+----------+------------+
+        3 +       1001 +       30 +     9.90 + 2014-11-12 +
+----------+------------+----------+----------+------------+
+        4 +       1001 +       10 +    10.20 + 2014-11-13 +
+----------+------------+----------+----------+------------+
我需要下面的两个结果。谢谢

Result A (first 100 quantity)
+------------+----------+--------------+
+ Product ID + Quantity + Total Amount +
+------------+----------+--------------+
+       1001 +      100 +      1050.00 +
+------------+----------+--------------+

Result B (last 60 quantity)
+------------+----------+--------------+
+ Product ID + Quantity + Total Amount +
+------------+----------+--------------+
+       1001 +       60 +       619.00 +
+------------+----------+--------------+
前100名

选择产品ID、sumQuantity作为数量、sumAmount作为TotalAmount 根据tblstock.Stock ID从tblstock订单中选择* ASC限额100 t1组(按日期、产品ID)

过去60年

选择产品ID、sumQuantity作为数量、sumAmount作为总计 按tblstock.Stock ID从tblstock订单中选择*的金额 按日期、产品ID列出的描述限制60 t1组

试试这个:

结果A:

结果B:

您可以使用JOIN而不是IN

结果A:

结果B:


您是否希望结果为100-19.90和60-20.20??发布样本结果我希望结果a=50 x 10+50 x 11,结果B=20 x 10+30 x 9.90+10 x 10.20,结果a是前100个数量,结果B是最后60个数量。谢谢,这不是我想要的结果,我的结果要求没有记录限制,是库存数量限制。ThanksI收到了这个错误1235-这个版本的MySQL还不支持“LIMIT&IN/ALL/ANY/SOME子查询”。谢谢,我已经更新了查询。请试一试。谢谢。嗨,我已经测试过了,但是结果总输出量是41.09。谢谢
SELECT A.ProductID AS 'Product ID', '100' AS 'Quantity', SUM(A.Amount) as 'Total Amount'
FROM tblStock A
WHERE StockID IN (SELECT B.StockID from tblStock B ORDER BY B.StockID ASC LIMIT 100)
SELECT A.ProductID AS 'Product ID', '60' AS 'Quantity', SUM(A.Amount) as 'Total Amount'
FROM tblStock A
WHERE StockID IN (SELECT B.StockID from tblStock B ORDER BY B.StockID DESC LIMIT 60)
SELECT A.ProductID AS 'Product ID', '100' AS 'Quantity', SUM(A.Amount) AS 'Total Amount'
FROM tblStock AS A
INNER JOIN
 (SELECT StockID from tblStock ORDER BY StockID ASC LIMIT 100) AS B
ON A.StockID = B.StockID
SELECT A.ProductID AS 'Product ID', '60' AS 'Quantity', SUM(A.Amount) AS 'Total Amount'
FROM tblStock AS A
INNER JOIN
 (SELECT StockID from tblStock ORDER BY StockID DESC LIMIT 60) AS B
ON A.StockID = B.StockID