library(RPostgres)
library(tibble)
DB_HOSTNAME <- Sys.getenv("DB_HOSTNAME")
DB_NAME <- Sys.getenv("DB_NAME")
DB_PORT <- Sys.getenv("DB_PORT")
DB_USER <- Sys.getenv("DB_USER")
DB_PASSWORD <- Sys.getenv("DB_PASSWORD")
conn <- RPostgres::dbConnect(
drv = RPostgres::Postgres(),
dbname = DB_NAME,
host = DB_HOSTNAME,
port = DB_PORT,
user = DB_USER,
password = DB_PASSWORD)
RPostgres::dbSendQuery(
conn,
"ALTER DATABASE alcor SET SEARCH_PATH TO rne;"
)<PqResult>
SQL ALTER DATABASE alcor SET SEARCH_PATH TO rne;
ROWS Fetched: 0 [complete]
Changed: 0
RPostgres::dbListTables(conn)Warning: Closing open result set, cancelling previous query
[1] "csp" "elu"
result <- RPostgres::dbGetQuery(
conn,
"SELECT elu_genre, elu_nom, elu_prenom, UPPER(elu_lieu_naissance)
FROM rne.elu
WHERE elu_date_naissance = '1967-04-19'
ORDER BY elu_genre, elu_nom, elu_prenom;")
print(result) elu_genre elu_nom elu_prenom upper
1 F BEUGNET Ginette ARRAS
2 F BOYER Patricia AGEN
3 F BRUNEAU Catherine PARIS
4 F CARISEY Valérie SAINT-VALLIER
5 F DELAURIER Sylvie Nicole TONNEINS
6 F GARNIER Corinne LE PUY EN VELAY
7 F LABRUGERE Martine CANNES
8 F LACRESSE Christelle NANCY
9 F LAVEST Isabelle AURILLAC
10 F LEPOUTRE Anne-Marie REIMS
11 F LIGAUDAN Laure Isabelle MAISON-ALFORT
12 F MAILLOT Karine DRANCY
13 F PAOLI Muriel ALES
14 F PFISTER Monique INGWILLER
15 F QUATREVAUX Muriel RENNES
16 F SCHULD Adeline PARIS 17E
17 F TALVA Nelly FOUGÈRES
18 M BARDELLE Christophe CAEN
19 M BERENGUER Hervé BÉZIERS
20 M BERNADET Pascal DAX
21 M BERRARD Eric LONS LE SAUNIER
22 M BOIRET Alain CHÂTEAUDUN
23 M BORDE Philippe BAR SUR AUBE
24 M BUCHHOLZER Fabien BITCHE
25 M CARTIER Frédéric LANGON
26 M CERQUEIRA Christian MACON
27 M DEVALQUENAIRE Eric AMIENS
28 M FUCHET François LE CREUSOT
29 M GRASSET Laurent NIMES
30 M GROS Serge LA BOISSIERE
31 M JEANDARME Francis NOGENT SUR SEINE
32 M JEANNEY Patrick AGEN
33 M LE QUÉRÉ Antoine PONTIVY
34 M LEVY Hervé BESANCON
35 M MANUEL Thierry <NA>
36 M MAYEUX Laurent BETHUNE (62)
37 M PINEL Emmanuel LES GRANDES VENTES
38 M PRODHOMME Daniel NOYAL SUR VILAINE
39 M TRAORE Yan ABIDJAN
40 M VALADIER Eddy SAINT GILLES (30)
1 Comment supprimer les doublons d’une table
La table prise pour exemple sera la table elu composées des champs suivants :
Nous pouvons identifier les doublons comme suit :
3 méthodes possibles pour supprimer les doublons
1.1 suppression depuis un INNER JOIN (USING avec postgresql)
Cette méthode ne marche pas s’il n’existe pas d’index (comme elu_id ici)
1.2 La deuxième méthode consiste à
1.3 la methode consiste à utiliser la fonction ROW_NUMBER()