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

MySQL Nested Select Query?

Du skal bare skrive den første forespørgsel som en underforespørgsel (afledt tabel), inden for parentes, vælg et alias for den (t nedenfor) og også alias kolonnerne.

DISTINCT kan også sikkert fjernes som den interne GROUP BY gør det overflødigt:

SELECT DATE(`date`) AS `date` , COUNT(`player_name`) AS `player_count`
FROM (
    SELECT MIN(`date`) AS `date`, `player_name`
    FROM `player_playtime`
    GROUP BY `player_name`
) AS t
GROUP BY DATE( `date`) DESC LIMIT 60 ;

Siden COUNT er nu indlysende, at det kun tæller rækker af den afledte tabel, du kan erstatte den med COUNT(*) og forenkle forespørgslen yderligere:

SELECT t.date , COUNT(*) AS player_count
FROM (
    SELECT DATE(MIN(`date`)) AS date
    FROM player_playtime
    GROUP BY player_name
) AS t
GROUP BY t.date DESC LIMIT 60 ;



  1. TILKNYT sqlite-database i Android med SQLiteOpenHelper

  2. Opdel IPv4-adresse i 4 numre i Oracle sql

  3. Kopier mysql-database fra fjernserver til lokal computer

  4. Hvilken datatype er bedst til telefonnummer i MySQL, og hvad skal Java-typekortlægning være for det?