如何使用同一个表中的SELECT WEEK()更新,超过1行[mysql]

如何使用同一个表中的SELECT WEEK()更新,超过1行[mysql],mysql,sql-update,dayofweek,Mysql,Sql Update,Dayofweek,这是我的密码 UPDATE ks_tidy SET announcedWeek = ( SELECT week(dateAnnounced) as weekAnnounced FROM ks_tidy ) WHERE announcedWeek = '' 我遇到的问题是,当我尝试更新超过1行时,它不起作用 1242-子查询返回超过1行 我的表有两列:dateAnnounced(DATE[yyyy-mm-dd],UNIQUE,主键),weekAnnounced(INT)。weekAnnounc

这是我的密码

UPDATE ks_tidy SET announcedWeek = (
SELECT week(dateAnnounced) as weekAnnounced 
FROM ks_tidy ) WHERE announcedWeek = ''
我遇到的问题是,当我尝试更新超过1行时,它不起作用

1242-子查询返回超过1行
我的表有两列:dateAnnounced(DATE[yyyy-mm-dd],UNIQUE,主键),weekAnnounced(INT)。weekAnnounced列被添加到存储weekAnnounced,我正试图使用WEEK()SQL函数“计算”它。我有数千行数据,并且此表会定期更新,因此手动执行此操作不是一个选项。

我不明白您为什么认为需要对此进行子查询

UPDATE ks_tidy SET announcedWeek = week(dateAnnounced) 
WHERE announcedWeek = ''

如果不是这样,请将样本数据和预期输出作为文本添加到问题中。您是否应该测试null而不是“”?您真的需要存储一个容易导出的值吗?

我已经用更多信息更新了我的问题。我真的不需要测试任何东西,WHERE子句是可选的。我想改为每周分组,并使用目前不支持week属性的Observable和vega lite可视化数据。