Mysql为每个组选择一行

时间:2016-06-03 22:54:10

标签: mysql

嗨,有一个我想要的结果的例子

Result that i want

否:订单号
dataType:
1 =特定周的作品数量
           2 =剩余件数
完成:完成的件数
总数:件数

我想做一个查询。这个查询的第一部分会返回所有带有dataType 1的行,另一部分会返回所有带有dataType 2的行。每个订单只有一次dataType 2,它只是显示剩下的内容做。

我通过复制我的大选择并使用UNION来完成此查询,但是有一种方法可以使用第一个查询中返回的所有订单号来通过添加新行来获取每个订单剩余的内容。

谢谢,我希望我的问题很清楚

我已经制作了一个sqlfiddle来向您展示我所做的查询

http://sqlfiddle.com/#!9/26a9d/15

SELECT 
    no,
    SUM(vCountDone) done,
    (SELECT SUM(vCountTotal) FROM table1) total,
    week,
    '1' AS dataType
FROM
    table1
GROUP BY DATE(week) 
UNION ALL SELECT 
    no,
    SUM(vCountTotal) - SUM(vCountDone) done,
    (SELECT SUM(vCountTotal) FROM table1) total,
    MAX(week),
    '2' AS dataType
FROM
    table1 t2

0 个答案:

没有答案
相关问题