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

Заявка за условно агрегиране с група от

Вие сте доста близо, просто трябва да поставите условията вътре в агрегатната функция за условното агрегиране, което искате да извършите:

SELECT
companyID, 
COUNT(userID) AS `totalCompanyUsers`,
SUM(CASE 
  WHEN 
    TIMESTAMPDIFF(MONTH, lastLogin, NOW()) < 1 THEN 1 
  ELSE 0
END
) AS `numUsersWhoLoggedInWithinLastMonth`
FROM Users
GROUP BY companyID;

Резултатите все още са групирани по companyID , но втората функция за агрегиране изпълнява сбор от 1 и 0 в зависимост от това дали потребителят е влязъл през последния месец или не.




  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 ред след изтичане на времето?

  3. Как да четете sql заявка към pandas dataframe / python / django

  4. Правилен начин за настройване на база данни MYSQL за търсене на свързани маркери?

  5. MySQL:Грешка при премахване на база данни (errno 13; errno 17; errno 39)