sql >> Databáze >  >> RDS >> Mysql

MONGODB:Převeďte dotaz SQL Union

Můžete to udělat pomocí agregačního rámce. Nebude to zvlášť efektivní dělat to v jednom dotazu, takže byste pravděpodobně měli udělat to samé, co děláte v SQL, který spouští dva dotazy – jediný rozdíl je v tom, že je MongoDB „nespojí“ pro a budete to muset udělat v aplikaci.

Dva agregační dotazy by byly:

db.collection.aggregate( [
        {$project:{name:1, points:{$subtract:["$score_kills","$score_deaths"]}}},
        {$sort:{points:-1}},
        {$limit:10}
]);

To by vám dalo prvních 10. Chcete-li získat dolních 10, udělali byste to samé, ale seřadili byste podle {points:1} což vám zůstane na spodních 10.




  1. MySQL:Vyberte data z tabulky, kde datum spadá do aktuálního týdne a aktuálního měsíce

  2. Chyba neznámého sloupce MySQL při použití ALTER, nerozumím chování

  3. udělejte ze všech automatických inkrementálních celých čísel stejný počet číslic s úvodními nulami

  4. MySQL:Získání čísla řádku (hodnocení) pro konkrétní řádek