小编use*_*376的帖子

PostgreSQL的9.3。没有所有列的分组依据

我对以下查询有疑问:

SELECT 
        ee.id 
        ee.column2
        ee.column3,
        ee.column4, 
        SUM(ee.column5)
      FROM 
         table1 ee 
         LEFT JOIN table2 epc ON ee.id = epc.id
      WHERE 
         ee.id (6050) 
      GROUP BY ee.id
Run Code Online (Sandbox Code Playgroud)

WHERE列ID是主键。在版本8.4上,查询返回错误,指出group by子句中不存在column2,column3和column4。

此查询在9.3版上成功执行。

有人知道为什么吗?

sql postgresql group-by

5
推荐指数
1
解决办法
2556
查看次数

PostgreSQL:使用别名列的情况

我想做这样的事情:

select 
case when (select count(*) as score from users t1 )   >5   THEN score   else 0 end 
Run Code Online (Sandbox Code Playgroud)

当我尝试时,我收到错误:

column score doesn't exists. 
Run Code Online (Sandbox Code Playgroud)

我可以用其他方式做到这一点吗?我需要它来设置一个 LIMIT 值。我当然想这样做:

select 
case when (select count(*) as score from users t1 )   >5   THEN (select count(*) as score from users)    else 0 end 
Run Code Online (Sandbox Code Playgroud)

但比我需要执行两次相同的查询。有人有什么想法吗?

postgresql

2
推荐指数
1
解决办法
2055
查看次数

标签 统计

postgresql ×2

group-by ×1

sql ×1