多个mysql语句将数据放入同一个表中
我有一个类似这样的sql语句多个mysql语句将数据放入同一个表中,mysql,Mysql,我有一个类似这样的sql语句 SELECT * FROM ( SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent FROM count_down WHERE Wo_Number != 'PlaceHolder' AND
SELECT * FROM (
SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent
FROM count_down
WHERE Wo_Number != 'PlaceHolder' AND Count > 0
Group BY Op_Number , Machine_Number
LIMIT 5
) AS tmp_table ORDER BY Machine_Number, Count desc;
此查询返回的结果如下所示:
OP_number | Machine_Number | Elapsed | Count | Scrap | ScrapPerent
--------------------------------------------------------------------
Value1 | 1 | 20 | 10 | 10 | 100
Value2 | 10 | 30 | 5 | 0 | 0
但是,当每台机器有很多行时,例如,如果机器1有200条记录,机器10有200条记录,那么在这个结果集中我会有400条记录,所以我要做的是将这个语句限制为5,ad a,其中是这样,其中机器_number=1
所以最后我想要的是一个这样的查询
//Query for machine1
SELECT * FROM (
SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent
FROM count_down
WHERE Wo_Number != 'PlaceHolder' AND Count > 0 AND Machine_number = 1
Group BY Op_Number , Machine_Number
LIMIT 5
) AS tmp_table ORDER BY Machine_Number, Count desc;
// Query for machine 2
SELECT * FROM (
SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent
FROM count_down
WHERE Wo_Number != 'PlaceHolder' AND Count > 0 AND Machine_number = 2
Group BY Op_Number , Machine_Number
LIMIT 5
) AS tmp_table ORDER BY Machine_Number, Count desc;
OP_number | Machine_Number | Elapsed | Count | Scrap | ScrapPerent
--------------------------------------------------------------------
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Ext Ext fyi全套将有14台机器,然后我希望结果如下所示
//Query for machine1
SELECT * FROM (
SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent
FROM count_down
WHERE Wo_Number != 'PlaceHolder' AND Count > 0 AND Machine_number = 1
Group BY Op_Number , Machine_Number
LIMIT 5
) AS tmp_table ORDER BY Machine_Number, Count desc;
// Query for machine 2
SELECT * FROM (
SELECT Op_Number, Machine_Number, Format(SUM(Elapsed),2) AS Elapsed , SUM(Count) AS Count , SUM(Scrap) AS Scrap , (SUM(`Scrap`)/SUM(`Count`)) * 100 AS ScrapPercent
FROM count_down
WHERE Wo_Number != 'PlaceHolder' AND Count > 0 AND Machine_number = 2
Group BY Op_Number , Machine_Number
LIMIT 5
) AS tmp_table ORDER BY Machine_Number, Count desc;
OP_number | Machine_Number | Elapsed | Count | Scrap | ScrapPerent
--------------------------------------------------------------------
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 1 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 2 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
Value1 | 3 | 20 | 10 | 10 | 100
这是我到目前为止所拥有的一把小提琴
正如你从这把小提琴中看到的,我得到了机器10的结果,并将其限制为5个结果,以便只得到前5个结果,我想做的是这个查询,但是对于14台机器,而不是机器1
Where Machine_number = 1;
Where Machine_number = 2;
Where Machine_number = 3;
ext ext
然后返回如上所示的结果,但该机器的每个查询需要限制为5个结果