AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-259034

domiho1's questions

Martin Hope
domiho1
Asked: 2022-08-25 03:58:17 +0800 CST

Preencher linhas com base nos valores da linha anterior e do grupo de linhas

  • 0

com postgresSQL 13.6

Seguindo a pergunta daqui Adicione valor em uma coluna com base nos valores de um grupo de linhas .

com as linhas agrupadas por núm_serviço, é possível preencher a linha restante desse grupo, utilizando o mesmo texto já incluído em uma dessas linhas.

com a mesa:

data hora carrinho base núm_serviço modelo
2022 08 23 10:10 aa FORA aa/202208/1
2022 08 23 10:20 aa aa/202208/1
2022 08 23 10:30 aa DENTRO aa/202208/1 corporativo
2022 08 23 10:05 bb FORA bb/202208/1
2022 08 23 10:10 bb bb/202208/1 privado
2022 08 23 10:30 bb bb/202208/1
2022 08 23 10:35 bb DENTRO bb/202208/1
2022 09 23 10:10 aa FORA aa/202209/1
2022 09 23 10:20 aa aa/202209/1 outro
2022 09 23 10:30 aa DENTRO aa/202209/1

preencha assim:

data hora carrinho base núm_serviço modelo
2022 08 23 10:10 aa FORA aa/202208/1 corporativo
2022 08 23 10:20 aa aa/202208/1 corporativo
2022 08 23 10:30 aa DENTRO aa/202208/1 corporativo
2022 08 23 10:05 bb FORA bb/202208/1 privado
2022 08 23 10:10 bb bb/202208/1 privado
2022 08 23 10:30 bb bb/202208/1 privado
2022 08 23 10:35 bb DENTRO bb/202208/1 privado
2022 09 23 10:10 aa FORA aa/202209/1 outro
2022 09 23 10:20 aa aa/202209/1 outro
2022 09 23 10:30 aa DENTRO aa/202209/1 outro

a redação do tipo pode aparecer em qualquer uma das linhas de cada grupo.

estou tentando usar lagexpressão com apenas replicar o que está na linha anterior na coluna de seleção

postgresql
  • 1 respostas
  • 43 Views
Martin Hope
domiho1
Asked: 2022-08-23 11:13:09 +0800 CST

Adicionar valor em uma coluna com base nos valores de um grupo de linhas

  • 0

Imagine algo como "uber Eats":

há uma base de motoristas (shopping), outros restaurantes fora do shopping e locais de clientes.

Cada fila é uma viagem entre dois pontos (base, restaurante_# e cliente #): pode ter serviços com 3 filas (base-restaurante-base-cliente) outro com 2 (base-cliente-base), outro com um pouco mais. ... (pedido errado :)) de parada de combustível.

Precisa agregar para cada serviço as linhas aplicáveis ​​a esse serviço em uma coluna , por exemplo, service_numb com um número de série começando cada mês e o mês, 1/month,2/month ,3/month.

existe uma coluna:

  • Base, onde "OUT" e "IN" indicam a saída da base e a base de retorno, então este deve ser o gatilho para um novo serviço.
  • linha de data, para sequenciamento/ordem
  • carrinho, para identificar o carrinho de entrega, entre muitos

isso deve ser executado apenas uma vez para preencher essa coluna, em vez de fazê-lo manualmente.

é possível no postgresSQL 13.6 ?

EDITAR:

Com uma mesa:

data hora carrinho base
2022 08 23 10:10 aa FORA
2022 08 23 10:20 aa
2022 08 23 10:30 aa DENTRO
2022 08 23 10:05 bb FORA
2022 08 23 10:10 bb
2022 08 23 10:30 bb
2022 08 23 10:35 bb DENTRO
2022 09 23 10:10 aa FORA
2022 09 23 10:20 aa
2022 09 23 10:30 aa DENTRO

necessário criar uma coluna adicional com o número do serviço, ano/mês e por carrinho, como:

data hora carrinho base núm_serviço
2022 08 23 10:10 aa FORA aa/202208/1
2022 08 23 10:20 aa aa/202208/1
2022 08 23 10:30 aa DENTRO aa/202208/1
2022 08 23 10:05 bb FORA bb/202208/1
2022 08 23 10:10 bb bb/202208/1
2022 08 23 10:30 bb bb/202208/1
2022 08 23 10:35 bb DENTRO bb/202208/1
2022 09 23 10:10 aa FORA aa/202209/1
2022 09 23 10:20 aa aa/202209/1
2022 09 23 10:30 aa DENTRO aa/202209/1

EDIT2:

SELECT *,SUM(CASE WHEN base='OUT' then 1 end) OVER (PARTITION BY cart ORDER BY datetime) AS m1
FROM table
ORDER BY datetime

já dá um número sequencial em toda a tabela, dividido por carrinho.

faltando: adicionar carrinho, aaaa/mm e reiniciar a numeração a cada mês e por carrinho

EDIT3:

usando a resposta fornecida abaixo por @Andriy M, já está funcionando, o único problema é nos casos em que uma ou mais das pernas "saltam" para o próximo mês?

exemplo: perna1 31/07/2022 23:30 perna2 01/08/2022 00:05 perna3 01/08/2022 00:35

para o mesmo service_number. O datetime, já está na linha do tempo, então não há problema. A questão parece estar no PARTITION BY do datetime, para acomodar a passagem para um novo mês.

postgresql
  • 1 respostas
  • 75 Views
Martin Hope
domiho1
Asked: 2022-08-14 09:51:36 +0800 CST

Adicionar linha da tabela B com base na distância mínima entre a tabela A e B

  • 0

Sou iniciante no PostgreSQL e tenho duas tabelas A e B, ambas com várias colunas, incluindo uma coluna de ponto (geom):

TableA inclui um determinado 'ID', geom, etc , TableB é um "DB" de locais com uma coluna 'name', geom, etc...

Precisa encontrar para cada TableA.id qual é o 'nome' (colunas de linha) e a distância do local mais próximo na TabelaB.

já consegui calcular a distância entre todos os pontos da TabelaA e da TabelaB com:

ST_DistanceSpheroid(pointA,pointB,[SPHEROID])

Mas o melhor que se pode construir até agora, é uma consulta select onde fornece para cada uma TAbleA.IDtodas as distâncias e respectivos nomes da TabelaB - não encontra o mínimo para cada ID apenas.

Embora necessário ter as novas colunas calculadas (distância e nome) adicionadas à Tabela A.

Ainda não está claro para mim como trabalhar com saída de dados ao usar "selecionar" versus uma saída de dados de tabela real. ou uso de visualizações.

postgresql postgis
  • 1 respostas
  • 41 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve