php - 根据另一列的不同值对 sql 值求和并将结果放入数组中

标签 php mysql

我正在尝试根据基于另一列的不同值的求和值的结果创建一个数组

我有这两列月份和类(class)。在月份栏中是上课时的月份名称(一月,二月......)。在列类(class)中,我有类似(12、7、6、9、11 等)的值

示例值

Month    |lessons
------------------
January  |12 
January  |7
February |6
March    |9
March    |11

我想要实现的是汇总每个月的所有类(class),然后将值放入一个数组中,例如($month_values = January Sum、February Sum 等)。

示例结果

$month_values = 19,6,20;

我已经通过这个查询得到了月份

$sth = $db->prepare("SELECT DISTINCT month FROM acc where month!=''");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
$months = json_encode($result);

但我正在努力获取每个月的值

我在这里搜索过,看看是否有人面临同样的挑战,但找不到任何可以帮助我的东西

关于如何更改上面的查询并将类(class)值放入数组中有什么建议吗?

谢谢

最佳答案

SELECT month, SUM(lessons) 
FROM lessons_by_month 
GROUP BY month 
ORDER BY MONTH(STR_TO_DATE(month,'%M')) ASC

以上查询将按日历月顺序输出类(class)总和。

SQLFIDDLE DEMO

关于php - 根据另一列的不同值对 sql 值求和并将结果放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24217883/

相关文章:

php - 出于安全原因,如何覆盖 php 内存?

php - Codeigniter View 显示 0 条记录

使用主键 IN 语句删除时的 Mysql Innodb 死锁

php - 将脚本文件存储在 Web 根目录之外

php - 在 phpmyadmin 中使用 json 数据填充 mysql 表

mysql - 在 Docker 中持久化 MySQL 数据

mysql - 遇到 mysql 关系问题?

mysql - 在 MySQL 中创建表变量

php - MYSQL 更新连接错误 ->

mysql - 在关系中(在 ExpressionEngine 中)使用自定义表的最佳方法?