gpt4 book ai didi

mysql - 如何使用 Group by 子句更新具有特定计数的多行?

转载 作者:行者123 更新时间:2023-11-29 00:48:21 25 4
gpt4 key购买 nike

我想用数字 40 更新具有特定计数 (count(*)=2) 的多行。考虑以下示例:

create table test(id int not null primary key, day date not null, tst int not null  );
insert into test(id, day, tst) values(1, '2006-10-08', 0);

insert into test(id, day, tst) values(2, '2006-10-08', 0);

insert into test(id, day,tst) values(3, '2006-10-09', 0);

我使用了以下查询 UPDATE test SET tst = 40 WHERE (select day from test GROUP BY day having count(*)=2);

但它永远行不通。任何帮助请...

谢谢。

艾门

最佳答案

这是一个完整的例子(使用 Oracle 而不是 mysql,但语法即使不相同也应该相似):

CREATE TABLE TEST (tst int, DAY INT)

INSERT INTO TEST VALUES (2, 4);
INSERT INTO TEST VALUES (3, 4);
INSERT INTO TEST VALUES (4, 5);

UPDATE TEST
SET tst = 40
WHERE EXISTS (SELECT DAY FROM TEST t2 WHERE t2.day = test.day GROUP BY DAY HAVING COUNT(*) = 2)
SELECT * FROM TEST;


Result:
TST DAY
1 40 4
2 40 4
3 4 5

关于mysql - 如何使用 Group by 子句更新具有特定计数的多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com