jquery - 子查询双穿+聚合函数

标签 jquery mysql sql select aggregate

我有表格和行

CREATE TABLE `TEST_TRANSACTIONS`.`Users` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `balance` INT NOT NULL,
  `payed` INT NOT NULL,
  `isSimpleUser` INT NOT NULL,
  `approvedAdminId` VARCHAR(45) DEFAULT NULL,
  PRIMARY KEY (`id`));


INSERT INTO `TEST_TRANSACTIONS`.`Users` (`id`, `balance`, `payed`, `isSimpleUser`) VALUES ('1', '1', '2', '0');
INSERT INTO `TEST_TRANSACTIONS`.`Users` (`id`, `balance`, `payed`, `isSimpleUser`) VALUES ('2', '2', '4', '0');
INSERT INTO `TEST_TRANSACTIONS`.`Users` (`id`, `balance`, `payed`, `isSimpleUser`, `approvedAdminId`) VALUES ('3', '10', '20', '1', '53ed3434asd');
INSERT INTO `TEST_TRANSACTIONS`.`Users` (`id`, `balance`, `payed`, `isSimpleUser`, `approvedAdminId`) VALUES ('4', '25', '35', '1', '35sdd2342ss');
INSERT INTO `TEST_TRANSACTIONS`.`Users` (`id`, `balance`, `payed`, `isSimpleUser`) VALUES ('5', '4444', '5555', '1');

我想要余额总和,并为具有approvedAdminId的简单用户(isSimpleUser = 1并且approvedAdminId不为NULL)和非简单用户(isSimpleUser = 0)付款>

预期结果

sumBalancePremiumUsers sumPayedPremiumUsers sumBalanceSimpleApprovedUsers sumPayedSimpleApprovedUsers

3                      6                    35                            55

最佳答案

SELECT
  SUM(IF(isSimpleUser = 0, balance, 0)) AS sumBalancePremiumUsers,
  SUM(IF(isSimpleUser = 0, payed, 0)) AS sumPayedPremiumUsers,
  SUM(IF(isSimpleUser AND approvedAdminId IS NOT NULL, balance, 0)) AS sumBalanceSimpleApprovedUsers,
  SUM(IF(isSimpleUser AND approvedAdminId IS NOT NULL, payed, 0)) AS sumPayedSimpleApprovedUsers
FROM Users

输出:

+------------------------+----------------------+-------------------------------+-----------------------------+
| sumBalancePremiumUsers | sumPayedPremiumUsers | sumBalanceSimpleApprovedUsers | sumPayedSimpleApprovedUsers |
+------------------------+----------------------+-------------------------------+-----------------------------+
|                      3 |                    6 |                            35 |                          55 |
+------------------------+----------------------+-------------------------------+-----------------------------+

关于jquery - 子查询双穿+聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70296388/

相关文章:

mysql - 针对给定关系的 SQL 查询

javascript - 使用 <TR> 上的 jquery 触发器使链接在行内可用

jquery - jQuery set 版本的 .position() 的文档在哪里?

javascript - 使用分配给变量的值调整 div 大小

mysql - 首先对结果进行排序,然后按 mysql 中的结果集分组

mysql - 如何直接从 MySQL 查询中获取两个和的百分比?

mysql - 从 mysql 中的另一个表更新表值,其中更新的字段是外键

mysql - 使用 Count(*) 进行 SQL 查询并选择缺失的月份

JavaScript/JQuery Combo 之类的下拉菜单问题

php - 简单的 PHP 表单 SQL 插入