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

MySQL Nested Select Query?

Stačí napsat první dotaz jako poddotaz (odvozenou tabulku), v závorkách pro něj vybrat alias (t níže) a také alias sloupců.

DISTINCT lze také bezpečně odstranit jako interní GROUP BY dělá to nadbytečným:

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 ;

Od COUNT je nyní zřejmé, že počítá pouze řádky odvozené tabulky, můžete jej nahradit COUNT(*) a dále zjednodušit dotaz:

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. Nové a vyvíjející se podnikové funkce PostgreSQL s nejnovějšími verzemi

  2. mysql - Vytváření výkonu řádků vs. sloupců

  3. Nemůžete použít dotaz LIKE v JDBC PreparedStatement?

  4. Jak získat rok ze sloupce Datetime v MySQL