我有一张表,我必须从中获取invoiceNo,所有权重的总和,计算条形码的数量以及特定日期中名为selected_items的表中sum_total的最后一个值。
SELECT invoiceNo, SUM(weight), COUNT(barcode), sum_total
FROM selected_items
WHERE date LIKE '07-Jan-2016' GROUP BY invoiceNo ORDER BY id DESC;
我想要做的是在特定日期获取该特定invoiceNo的invoiceNo,权重总和,条形码数和sum_total中的最后一个值。 在我当前的查询中,我获得了6个项目的权重总和,条形码计数为6,sum_total中的第一个值。我甚至尝试过这个查询,但它没有给出预期的答案。
SELECT invoiceNo, SUM(weight), COUNT(barcode), sum_total
FROM selected_items
WHERE invoiceNo IN ('IN1001','ES102');
答案 0 :(得分:4)
要实现您的需求,您应该按invoiceNo
对结果进行分组,因此您的查询如下所示:
SELECT invoiceNo, SUM(weight), COUNT(barcode), sum_total
FROM selected_items
WHERE date LIKE '07-Jan-2016' GROUP BY invoiceNo;
答案 1 :(得分:1)
这可能有助于您尝试一下。
SELECT invoiceNo, SUM( weight ) , COUNT( barcode ) , sum_total
FROM (SELECT * FROM `selected_items`
WHERE DATE LIKE '07-Jan-2016'
ORDER BY id DESC
)a
GROUP BY invoiceNo;