Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Заявка за вложен избор?

Просто трябва да напишете първата заявка като подзаявка (извлечена таблица), в скоби, изберете псевдоним за нея (t по-долу) и псевдоним на колоните.

DISTINCT може също така безопасно да бъде премахнат като вътрешна GROUP BY го прави излишен:

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 ;

Тъй като COUNT вече е очевидно, че брои само редове от извлечената таблица, можете да го замените с COUNT(*) и допълнително опростете заявката:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте секунди в дни, часове, минути, секунди (MySQL)

  2. MySQL SELECT само не нулеви стойности

  3. Как да възстановим една MySQL таблица с помощта на mysqldump?

  4. Номер на ред за група в mysql

  5. Как да извикате MySQL съхранена процедура в Python