什么都不插入而不是什么sql

insert nothing instead of something sql

我遇到了以下问题。

输入时,结果是零

SELECT COUNT(DISTINCT(cookies))
FROM 
table_repo3 WHERE
url LIKE '%easyeasy%'
GROUP BY cur_date;

但是在下面输入时,没有插入任何行。

INSERT INTO toto (col1,col2,col3)
SELECT '2B1',CURRENT_DATE AS cur_date,
       CASE WHEN COUNT(DISTINCT(cookies)) =0 
              THEN 111 
            ELSE COUNT(DISTINCT(cookies)) 
       END
FROM 
table_repo3 WHERE
url LIKE '%easyeasy%'
GROUP BY cur_date;

输入时,我也什么都没有。

SELECT '2B1',CURRENT_DATE AS cur_date,
        CASE WHEN COUNT(DISTINCT(cookies)) = 0 
               THEN 111 
             ELSE COUNT(DISTINCT(cookies)) 
        END
FROM 
table_repo3 WHERE
url LIKE '%easyeasy%'
GROUP BY cur_date;

我做错了什么?

我认为您不想在声明中使用 GROUP BY。如果它能够通过 cur_date 成功聚合,那么您将插入 ID 为 281 的多条记录。假设 ID 是 table 中的主键,那么您将收到错误消息。

如果您删除 GROUP BY,您将获得具有匹配 Url.

的所有不同 cookie 的计数
INSERT INTO toto (col1,col2,col3)
SELECT '2B1',CURRENT_DATE AS cur_date,CASE WHEN COUNT(DISTINCT(cookies)) =0 
    THEN 111 
    ELSE COUNT(DISTINCT(cookies)) END
FROM table_repo3
WHERE url LIKE '%easyeasy%'