sql >> Database teknologi >  >> RDS >> Mysql

Valg af unikke rækker i et sæt af to muligheder

Dette svarer nogenlunde til det, du skrev, men burde være ret hurtigt, da IKKE FINDER er mere effektivt, i dette tilfælde, end IKKE I...

mysql> select * from foo;
+----+-----+
| id | col |
+----+-----+
|  1 | Bar | 
|  1 | Foo | 
|  2 | Foo | 
|  3 | Bar | 
|  4 | Bar | 
|  4 | Foo | 
+----+-----+

SELECT id
     , col
  FROM foo f1 
 WHERE col = 'Foo' 
  OR ( col = 'Bar' AND NOT EXISTS( SELECT * 
                                     FROM foo f2
                                    WHERE f1.id  = f2.id 
                                      AND f2.col = 'Foo' 
                                 ) 
     ); 

+----+-----+
| id | col |
+----+-----+
|  1 | Foo | 
|  2 | Foo | 
|  3 | Bar | 
|  4 | Foo | 
+----+-----+


  1. Databaseunderindstilling – Sådan gør du i IRI Voracity

  2. Heroku psql:FATAL:resterende forbindelsespladser er reserveret til ikke-replikering af superbrugerforbindelser

  3. Sådan installeres phpMyAdmin

  4. Hvordan forbinder man MySql-database med Firebase?