[Greeklug] διαγραφή διπλοεγγραφών από mysql
mixasgr
mixas.gre στο gmail.com
Σαβ 3 Δεκ 2011 03:05:03 EET
Στις 03/12/2011 02:07 πμ, ο/η Sakis Xakoustos έγραψε:
> Καλημέρα....
>
> είναι στον ίδιο πίνακα και
>
> είναι σε ξεχωριστά πεδία το καθένα ανά σειρά-εγγραφή
>
> test στο gmail 30-10-2011
>
>
> test στο gmail 1-1-2009
>
>
> Αν υπάρχει διπλοεγγραφή στο email, όπως το παραπάνω, τότε θέλω να
> σβήσω το email που έχει καταχωρηθεί με έτος 2009
>
>
>
>
> Στις 3 Δεκεμβρίου 2011 1:45 π.μ., ο χρήστης mixasgr
> <mixas.gre στο gmail.com <mailto:mixas.gre στο gmail.com>> έγραψε:
>
> Στις 03/12/2011 12:41 πμ, ο/η Sakis Xakoustos έγραψε:
>> Η βάση είχε κάποια emails μέσα και πρόσθεσα και εγώ μερικά.
>>
>> Όταν πρόσθετα τα email που είχα, δυστυχώς δεν πρόσεξα για
>> διπλοεγγραφές.
>> Τα εμαιλ μου λοιπόν μπήκαν με την ημερομηνία 2009 (έτσι το
>> έκανα εσκεμμένα για να τα ελέγχο)
>> Στη βάση έχω:
>>
>> περίπτωση 1)
>> test στο gmail 30-10-*2011 *και test στο gmail.com
>> <mailto:test στο gmail.com> 1-1-*2009*
>>
>> περίπτωση 2)
>> test στο gmail 30-10-*2011 *και test στο gmail.com
>> <mailto:test στο gmail.com> 1-1-*2009 *και test στο gmail.com
>> <mailto:test στο gmail.com> 1-1-*2009*
>>
>> περίπτωση 3)
>> test στο gmail.com <mailto:test στο gmail.com> 1-1-*2009 *και
>> test στο gmail.com <mailto:test στο gmail.com> 1-1-*2009*
>>
>>
>> Όπως βλέπετε υπάρχουν διάφορες περιπτώσεις....
>> Θέλω να μείνει μόνο ένα email για κάθε χρήστη.
>> Δλδ αν υπάρχει το test@ *2011 *τότε να μείνει αυτό. Αλλιώς να
>> μείνει μόνο ένα από το test@ *2009*
>>
>> Θέλω οι εντολές να γίνουν πάνω στο ίδιο το table, γιατί υπάρχουν
>> συσχετισμοί με άλλα και αν το σβήσουμε και το ξαναφτιάξουμε
>> πιθανόν να γίνουν μπερδέματα.
>>
>> Με βολεύει ακόμα και η εντολή select. Μετά από εκεί θα τα μαρκάρω
>> από την phpmysql και θα τα κάνω delete (με το κουμπάκι!)
>>
>>
>
> Καλημέρα φίλε Σάκη,
>
> έχω καταλάβει γενικά το τι θέλεις να κάνεις, ωστόσο για να μπορέσω
> ίσως να σε βοηθήσω περισσότερο θα ήταν καλό να εξηγήσεις την δομή
> της βάσης σου κ πως τα δεδομένα συνδέονται μεταξύ τους.
>
> Τα δεδομένα είναι χύμα σε 1 πεδίο;
> sakis
> test στο gmail 30-10-2011
> test στο gmail.com <mailto:test στο gmail.com> 1-1-2009
> nikos
> test στο gmail 30-10-2011
> test στο gmail.com <mailto:test στο gmail.com> 1-1-2009
>
>
>
> είναι σε ξεχωριστά πεδία το καθένα ανά σειρά-εγγραφή;
> sakis
> test στο gmail 30-10-2011
>
> sakis
> test στο gmail 1-1-2009
>
>
> είναι πάνω στην ίδια εγγραφή του χρήστη σε διαφορετικά πεδία-στήλες;
> sakis
> test στο gmail 30-10-2011 test στο gmail.com <mailto:test στο gmail.com>
> 1-1-2009
>
>
> είναι σε ξεχωριστούς πίνακες;
>
>
Είναι αργά κ δεν σκέφτομαι καθαρά...
αλλά νομίζω μπορείς να το λύσεις ως εξής:
Για τις περιπτώσεις 1)2) για να κρατήσεις τις μοναδικές εγγραφές με μόνο
2011:
SELECT user, email, date
FROM pinakas_tade
WHERE date LIKE '%2011%'
GROUP BY email
και για την περίπτωση 3) ανάποδα τις μοναδικές εγγραφές που δεν έχουν 2011:
SELECT user, email, date
FROM pinakas_tade
WHERE date ΝΟΤ LIKE '%2011%'
GROUP BY email
-------------- επόμενο μέρος --------------
Ένα συνημένο HTML καθαρίστηκε...
URL: <http://lists.greeklug.gr/pipermail/greeklug/attachments/20111203/d430bb5e/attachment.html>
Περισσότερες πληροφορίες για την Greeklug
λίστα ηλεκτρονικού ταχυδρομείου