Mysql Group By 和 ABS 函数堆栈

标签 mysql

我有这样的sql代码,当我使用GROUP BY执行代码时,它只显示第一个记录,并且不使用ABS函数。有人可以帮我吗?

SELECT *, `tblLifeAgency`.`AgencyName`, `mlp`.`Basic40`, `mlp`.`ADB40`, `mlp`.`CiAccel40`, `mlp`.`Basic50`, `mlp`.`ADB50`, `mlp`.`CiAccel50`, `mlp`.`Basic60`, `mlp`.`ADB60`, `mlp`.`CiAccel60`
FROM (`tblPackage`)
INNER JOIN `tblMatrixLifePackage` mlp ON `mlp`.`PackageID` = `tblPackage`.`PackageID`
INNER JOIN `tblCompany` ON `tblPackage`.`CompanyID` = `tblCompany`.`CompanyID`
INNER JOIN `tblLifeAgency` ON `tblLifeAgency`.`CompanyID` = `tblCompany`.`CompanyID`
AND `tblPackage`.`IsActive` =  '1'
WHERE `tblPackage`.`PackageType` =  '2'
GROUP BY tblPackage.CompanyID
ORDER BY abs(tblPackage.TotalPremi - 250000)

最佳答案

GROUP BY 对您的记录进行分组。如果您有记录值,则必须决定将哪个结果显示为行的摘要。例如,您可以将一组中的所有值视为正值 (ABS) 并对它们求和 (SUM)。然后尝试将此模式转换为您的案例(以便更好地理解):

SELECT 
  `group`, 
  ABS(
    SUM(`value`)) AS `sum`
FROM my_table
GROUP BY `group`

关于Mysql Group By 和 ABS 函数堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31108006/

相关文章:

php - 将值插入两个链接的表中 (1 :M)

mysql - YII CDBCriteria 过滤列

java - 我将图像存储在数据库中但已被替换

mysql - 从 Rails 范围获取第二行

javascript - 有没有办法在 : $or clause with sequelize? 中包含数组

python - 使用 Python 3 更新 MySQL 数据库

php - 如何为按名称上传文件制作区分大小写的代码

mysql - 我应该在 SQL 过程中使用游标吗?

mysql - Worlight 中的 SQL 适配器?

php - 使用数据库中不同行的foreach循环显示多个产品