如果我了解您的需求,请尝试以下 *** 作:
SELECt id, pass, AVG(val) AS val_1 FROM data_r1 GROUP BY id, pass;
或者,如果每个ID只需要一行,则可以执行以下 *** 作:
SELECt d1.id, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 1) as val_1, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 2) as val_2, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 3) as val_3, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 4) as val_4, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 5) as val_5, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 6) as val_6, (SELECt IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERe d2.id = d1.id AND pass = 7) as val_7from data_r1 d1GROUP BY d1.id
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)