FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Mycket flitig postare
|
DELETE FROM Login WHERE NOT IN (SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN (SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3)' at line 1 det jag vill göra, är att radera alla poster som INTE finns med i "SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3" |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Tror du missade WHERE id, och prova med NOT EXISTS: http://stackoverflow.com/questions/1...xpected-result
Eventuellt måste du också skriva WHERE a.id = b.id enligt nedan. Kod:
DELETE FROM login a WHERE id NOT EXISTS ( SELECT b.id FROM login b WHERE a.id = b.id ORDER BY b.timeoflogin DESC LIMIT 3 ) Senast redigerad av Timofey den 2012-08-06 klockan 13:23 |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Bara ett inlägg till!
|
Citat:
1) För att kunna köra denna typen av subquery så måste du specificera kolumnnamnet i subqueryn. Ex: Kod:
SELECT * FROM tabell WHERE id NOT IN (SELECT tabell_id FROM tabell2) Kod:
DELETE FROM Login ORDER BY timeOfLogin DESC LIMIT 3 |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Klarade millennium-buggen
|
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Bara ett inlägg till!
|
||||
![]() |
![]() |
Svara |
|
|