PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Защо не мога да използвам псевдоними на колони в следващия израз SELECT?

Можете да използвате предварително създаден псевдоним в GROUP BY или HAVING израз, но не и в SELECT или WHERE изявление. Това е така, защото програмата обработва всички SELECT едновременно и все още не знае стойността на псевдонима.

Решениетое да капсулирате заявката в подзаявка и след това псевдонимът е достъпен отвън.

SELECT stddev_time, max_time, avg_time, min_time, cnt, 
       ROUND(avg_time * cnt, 2) as slowdown
FROM (
        SELECT 
            COALESCE(ROUND(stddev_samp(time), 2), 0) as stddev_time, 
            MAX(time) as max_time, 
            ROUND(AVG(time), 2) as avg_time, 
            MIN(time) as min_time, 
            COUNT(path) as cnt, 
            path
        FROM 
            loadtime
        GROUP BY
            path
        ORDER BY
            avg_time DESC
        LIMIT 10
   ) X;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java Enums, JPA и Postgres enums - Как да ги накарам да работят заедно?

  2. Може ли PostgreSQL да индексира колони от масиви?

  3. Как да вмъкна няколко стойности в таблица на postgres наведнъж?

  4. Извличане на коментари от PostgreSQL DB

  5. Rails 3.2 Postgres Save Error ActiveRecord::StatementInvalid:PG::Error:ERROR:Синтактична грешка близо до 'T' на позиция 5