Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取最小值并按id对组中的行进行计数_Sql_Postgresql - Fatal编程技术网

Sql 获取最小值并按id对组中的行进行计数

Sql 获取最小值并按id对组中的行进行计数,sql,postgresql,Sql,Postgresql,编辑我忘记了一个重要的细节 我有一个如下的postgresql表: | id | n_1 | n_2 | | 1 | 3 | 5 | | 1 | 2 | 6 | | 1 | 8 | 4 | | 1 | 1 | 5 | | 2 | 4 | 3 | | 2 | 5 | 1 | 仅当n_2>=min(n_1)时,我想获取最小值和计数计数: | id | n_1 | n_2 | count | | 1 | 1 | 4 | 4

编辑我忘记了一个重要的细节

我有一个如下的postgresql表:

| id | n_1 | n_2 |
|  1 |   3 |   5 |
|  1 |   2 |   6 |
|  1 |   8 |   4 |
|  1 |   1 |   5 |
|  2 |   4 |   3 |
|  2 |   5 |   1 |
仅当n_2>=min(n_1)时,我想获取最小值和计数计数:

| id | n_1 | n_2 | count |
|  1 |   1 |   4 |     4 |
|  2 |   4 |   1 |     0 |
当n_2>=min(n_1)
记录每个id时,n_1中的min数、n_2中的min数和count total


有什么帮助吗?

这里是通过按id对它们进行分组来实现的方法:

select  id , min(n_1) ,min(n_2), count(case when n_2 >= min_n_1 then 1 end)
from ( select *, min(n_1) over (partition by id) as min_n_1 from table) t
group by id

下面是如何通过按id对它们进行分组来完成此操作:

select  id , min(n_1) ,min(n_2), count(case when n_2 >= min_n_1 then 1 end)
from ( select *, min(n_1) over (partition by id) as min_n_1 from table) t
group by id

我认为这只是一种聚合:

select id, min(n_1), min(n_2), count(*)
from t
group by id;

我认为这只是一种聚合:

select id, min(n_1), min(n_2), count(*)
from t
group by id;

对不起,我忘记了一个重要的细节并编辑了我的asksorry,我忘记了一个重要的细节并编辑了我的asksorry,我忘记了一个重要的细节并编辑了我的asksorryask@ItaloRodrigo查看我的最新答案对不起,我忘记了一个重要的细节并编辑了我的答案ask@ItaloRodrigo查看我的最新答案