gpt4 book ai didi

Mysql带值条件的计数查询

转载 作者:行者123 更新时间:2023-11-29 13:12:47 24 4
gpt4 key购买 nike

假设我有表Student,定义如下:

+-----------------+-----------------+-----------------+|id               |paperId          |readFlag         |+-----------------+-----------------+-----------------+|1                |1                |1                |+-----------------+-----------------+-----------------+|2                |2                |1                |+-----------------+-----------------+-----------------+|3                |3                |1                |+-----------------+-----------------+-----------------+|4                |1                |0                |+-----------------+-----------------+-----------------+|5                |2                |1                |+-----------------+-----------------+-----------------+|6                |3                |1                |+-----------------+-----------------+-----------------+|7                |4                |1                |+-----------------+-----------------+-----------------+

我想知道有多少 paperId 恰好有一条记录或两条记录,其中两条记录的 readFlag 设置为 1 .

对于示例数据,答案是 3(paperId 的 2、3 和 4)。

我如何编写查询来执行此操作?

编辑:

我不想使用子查询,因为我有数百万条记录,执行子查询需要太多时间。

最佳答案

试试这个:

 SELECT COUNT(DISTINCT(paperId)) from STUDENT 
WHERE paperId NOT IN
(SELECT DISTINCT(paperId)
from STUDENT where readFlag = 0);

或者

 SELECT (SELECT COUNT(DISTINCT(paperID)) from student) - 
(SELECT COUNT(DISTINCT(paperID)) from student where readFlag=0);

关于Mysql带值条件的计数查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858424/

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