gpt4 book ai didi

mysql - 选择一列数据,然后在特定条件为真时计算该列的值

转载 作者:行者123 更新时间:2023-11-28 23:58:39 24 4
gpt4 key购买 nike

假设我有一个这样的表:

project_id | created_by | created    
1 | 3 | 2015-04-01
2 | 3 | 2015-04-07
3 | 4 | 2015-05-01
4 | 4 | 2015-05-02

我想选择这些列,然后计算每个项目之前 created_by 创建的项目数量,如下所示:

project_id | created_by | created    | previous by created_by user    
1 | 3 | 2015-04-01 | 0
2 | 3 | 2015-04-07 | 1
3 | 4 | 2015-05-01 | 0
4 | 4 | 2015-05-02 | 1

如何选择最后一列的计数?我试过 count(case where [condition] then 1 else null end) 但我在使用它时只得到一行结果。

最佳答案

您可以使用我在评论中提到的子查询。

例如,查询可能如下所示:

SELECT t1.*, 
(SELECT count(*)
FROM Table t2
WHERE UNIX_TIMESTAMP(t2.date) < UNIX_TIMESTAMP( t1.date)
AND t2.created_by = t1.created_by) before
FROM Table t1

它将返回表“Table”的列和子查询的结果作为列“before”,其中包含之前创建的行数。

关于mysql - 选择一列数据,然后在特定条件为真时计算该列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30735427/

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