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

PostgreSQL използва стойност от предишния ред, ако липсва

Можете да комбинирате самостоятелно присъединяване и функции на Windows

Като опростя, вземам тази таблица със следните примерни стойности:

създайте таблица t ( a int, b int); вмъкнете в t стойности ( 1, 1),( 2, Null),( 3, Null),( 4, 2),( 5, Null),( 6, Null); 

Във вашата заявка a е trunc_u и b е вашият id .Заявката е:

с cte като ( изберете t1.a, coalesce( t1.b, t2.b, 0) като b, rank() НАД (РАЗДЕЛЯНЕ ПО t1.a РЕД ОТ t2.a DESC) като поз от t t1 ляво външно съединение t t2 на t2.b не е нула и t2.a  

И резултати:

<предварителен код>| A | Б |--------| 1 | 1 || 2 | 1 || 3 | 1 || 4 | 2 || 5 | 2 || 6 | 2 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на PostgreSQL на Docker

  2. Производителност на OLTP след PostgreSQL 8.3

  3. В Rails не можах да създадем база данни за {adapter=>postgresql,

  4. Как Tanh() работи в PostgreSQL

  5. Може ли INSERT [...] ON CONFLICT да се използва за нарушения на външния ключ?