sql >> Database >  >> RDS >> PostgreSQL

postgres genereert array met behulp van diavenster

Dit komt waarschijnlijk doordat dbplyr geen vertalingen heeft gedefinieerd voor het converteren van na.omit of str_count in postgresql (een vertaling voor paste is het meest waarschijnlijk gedefinieerd).

U kunt str_count replace vervangen en na.omit door eerder te controleren op ontbrekende waarden.

st2tm %>% 
  mutate(
    p1 = lag(pid),
    p2 = lead(pid)
  ) %>% 
  filter(!is.na(p1),
         !is.na(p2)) %>%
  mutate(g = paste(p1, ",", pid, ",", p2)) %>% 
  select(-c(p1, p2)) %>% 

En als paste is het probleem dat je het zou kunnen vervangen door postgresql's ingebouwde CONCAT functie.

st2tm %>% 
  mutate(
    p1 = lag(pid),
    p2 = lead(pid)
  ) %>% 
  filter(!is.na(p1),
         !is.na(p2)) %>%
  mutate(g = CONCAT(p1, ",", pid, ",", p2)) %>% 
  select(-c(p1, p2)) %>% 

Omdat CONCAT is geen R-functie, dbplyr zal het doorgeven als geschreven naar postgresql in plaats van te proberen het te vertalen.




  1. type afbeelding is niet ingesteld voor polymorfe associaties

  2. Fatale fout:niet-gevangen uitzondering 'mysqli_sql_exception' met bericht 'Geen index gebruikt in query/voorbereide instructie'

  3. php json-arrays samenvoegen

  4. Hoe MySQL op Windows te installeren