sql >> Databasteknik >  >> RDS >> Mysql

Hur man returnerar rader som har samma kolumnvärden i MySql

Detta är ett exempel på en "set-in-uppsättningar"-fråga. Jag rekommenderar aggregering med having klausul, eftersom det är det mest flexibla tillvägagångssättet.

select score
from t
group by score
having sum(id = 2) > 0 and -- has id = 2
       sum(id = 4) > 0     -- has id = 4

Vad detta gör är att aggregera efter poäng. Sedan den första delen av having klausul (sum(id = 2) ) räknar upp hur många "2" det finns per poäng. Den andra är att räkna upp hur många "4":or. Endast poäng som har "2" och "4" returneras.



  1. Hur kan jag starta PostgreSQL på Windows?

  2. Oracle INSERT i två tabeller i en fråga

  3. Hur ändrar jag standardspråk för SQL Server?

  4. Skapa en kopia av en databas i PostgreSQL