有这样一个问题,工厂中要统计某个供应商送货检验的情况,依照其连续合格次数,决定是否免检,不使用游标或者循环,如何写这个sql。
此情景也可以用于统计连胜记录等
先要学习一下 窗函数LAG,指的是按分组和排序,取到之前(before)行的值。
假如表是这样的:
建表语句如下:
CREATE TABLE InspectionResults (
ID int NOT NULL AUTO_INCREMENT,
MaterialCode varchar(50) DEFAULT NULL,
InspectionTime datetime DEFAULT NULL,
InspectionOutcome varchar(10) DEFAULT NULL,
PRIMARY KEY (ID)
)
ENGINE = INNODB,
AUTO_INCREMENT = 1,
CHARACTER SET