Elimination Doublons
Fermé
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
-
25 oct. 2018 à 11:00
castours - 26 oct. 2018 à 07:34
castours - 26 oct. 2018 à 07:34
A voir également:
- Elimination Doublons
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Comment fusionner 2 fichiers excel et supprimer les doublons - Guide
- Logiciel gratuit pour supprimer les doublons en français - Télécharger - Nettoyage
5 réponses
jee pee
Messages postés
40415
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
4 novembre 2024
9 412
Modifié le 25 oct. 2018 à 11:52
Modifié le 25 oct. 2018 à 11:52
Bonjour,
Une piste de solution, à compléter car j'ignore comment faire + 15s avec mysql :
Un identifiant de salarié, qui doit exister dans un logiciel de pointage, serait plus pratique que nom prénom. Et il n'y a pas un indicateur entrée/sortie dans ton pointage qui devrait être lui aussi testé ?
Cdlt
Une piste de solution, à compléter car j'ignore comment faire + 15s avec mysql :
DELETE FROM pointage A WHERE EXISTS (SELECT * FROM pointage B WHERE A.nom = B.nom AND A.prenom = B.prenom AND A.date_heure > B.date_heure AND A.date_heure <= B.date_heure + 15s)
Un identifiant de salarié, qui doit exister dans un logiciel de pointage, serait plus pratique que nom prénom. Et il n'y a pas un indicateur entrée/sortie dans ton pointage qui devrait être lui aussi testé ?
Cdlt
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
Modifié le 25 oct. 2018 à 12:57
Modifié le 25 oct. 2018 à 12:57
Merci pour ta réponse rapide.
Cette fonction permet de convertir les heures en secondes.
Dans le tableau que je reçois, il ya que deux colomnes : Date avec regroupés Date + Heure et description regroupant Nom et Prénom
J'ai utilisé ton code dans cette manière :
Mais cela me sort l'erreur unexpected '*', expecting end of file
Cette fonction permet de convertir les heures en secondes.
function heure_to_secondes($heure){ $array_heure=explode(":",$heure); $secondes=3600*$array_heure[0]+60*$array_heure[1]+$array_heure[2]; return $secondes; }
Dans le tableau que je reçois, il ya que deux colomnes : Date avec regroupés Date + Heure et description regroupant Nom et Prénom
J'ai utilisé ton code dans cette manière :
$connect = mysqli_connect("localhost", "root", "", "employe"); $query="DELETE FROM tbl_excel A WHERE EXISTS ( SELECT *, substr(date, 1, 10), substr(date, 11, 20) FROM tbl_excel B WHERE A.description = B.description AND A.substr(date, 11, 20) > B.substr(date, 11, 20) AND heure_to_secondes(A.substr(date, 11, 20)) - heure_to_secondes(A.substr(date, 11, 20)) <=15 "; $result = mysqli_query($connect, $query);
Mais cela me sort l'erreur unexpected '*', expecting end of file
jee pee
Messages postés
40415
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
4 novembre 2024
9 412
25 oct. 2018 à 12:53
25 oct. 2018 à 12:53
Je n'utilise pas mysql, ni php
Mais avant de tenter dans php, tu devrais tester le sql dans la console mysql en direct.
En général, on évite d'appeler un champ date, c'est souvent un mot réservé. Et ton champ il est de quel type ? chaine de caractère ou datetime ? car normalement dans le sql il y a de quoi effectuer des opérations sur les champs datetime, ce n'est pas pratique d'utiliser une chaine de caractère.
Mais avant de tenter dans php, tu devrais tester le sql dans la console mysql en direct.
En général, on évite d'appeler un champ date, c'est souvent un mot réservé. Et ton champ il est de quel type ? chaine de caractère ou datetime ? car normalement dans le sql il y a de quoi effectuer des opérations sur les champs datetime, ce n'est pas pratique d'utiliser une chaine de caractère.
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
25 oct. 2018 à 12:58
25 oct. 2018 à 12:58
C'est effectivement une chaine de caractère.
Mais j'ai fait le test avec la fonction Heure_to_secondes, elle marche.
Merci
Mais j'ai fait le test avec la fonction Heure_to_secondes, elle marche.
Merci
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
Ambassadeur
1 551
25 oct. 2018 à 13:27
25 oct. 2018 à 13:27
bonjour, suggestion:
delete p1 FROM `pt` as p1, pt as p2 WHERE p1.nom=p2.nom and p1.prenom=p2.prenom and p1.moment>p2.moment and p1.moment-p2.moment<15
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
25 oct. 2018 à 13:39
25 oct. 2018 à 13:39
Bonjour,
ça ne marche pas nom plus
ça ne marche pas nom plus
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
>
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
25 oct. 2018 à 14:36
25 oct. 2018 à 14:36
"ça ne marche pas": message d'erreur?
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
25 oct. 2018 à 17:21
25 oct. 2018 à 17:21
La syntaxe de la requete n'est pas bonne. Il faut vérifier le manuel.
Dans un premier temps je souhaiterais seulement afficher les doublons. Je les effacerai manuellement aprés
Dans un premier temps je souhaiterais seulement afficher les doublons. Je les effacerai manuellement aprés
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
>
Hichamus13
Messages postés
15
Date d'inscription
jeudi 18 octobre 2018
Statut
Membre
Dernière intervention
12 juin 2020
25 oct. 2018 à 17:50
25 oct. 2018 à 17:50
select p1.* FROM `pt` as p1, pt as p2
WHERE p1.nom=p2.nom and p1.prenom=p2.prenom
and p1.moment>p2.moment and p1.moment-p2.moment<15
WHERE p1.nom=p2.nom and p1.prenom=p2.prenom
and p1.moment>p2.moment and p1.moment-p2.moment<15
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question