[英]MYSQL set column based first record for each group
I have a table which can be recreated as我有一个可以重新创建的表
create table test
(employeeID int,
date Date,
TookTest int
);
insert into test(employeeID, date, TookTest)
values
(1, '2014-01-01', 1),
(1, '2014-01-02', 1),
(1, '2014-01-03', 1),
(2, '2014-01-01', 1),
(2, '2014-01-20', 1),
(3, '2014-01-01', 1),
(3, '2014-01-21', 1),
(4, '2014-01-03', 1),
(4, '2014-01-27', 1)
I am trying to set the first record of every group to be 0 in the newCol
我正在尝试将每个组的第一条记录设置为newCol
中的 0
employeeID date TookTest newCol
----------------------------------------
1 2014-01-01 1 0
1 2014-01-02 1 1
1 2014-01-03 1 1
2 2014-01-01 1 0
2 2014-01-20 1 1
3 2014-01-01 1 0
3 2014-01-21 1 1
4 2014-01-03 1. 0
4 2014-01-27 1. 1
How do I go about this?我该如何 go 关于这个?
UPDATE test t1
JOIN ( SELECT t2.employeeID, MIN(t2.`date`) `date`
FROM test t2
GROUP BY 1 ) t3 USING (employeeID, `date`)
SET t1.TookTest = 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.