gpt4 book ai didi

php - mysql : fetch multidimensional arrays separated and sorted by date column

转载 作者:行者123 更新时间:2023-11-29 19:44:17 24 4
gpt4 key购买 nike

在 mySQL invoice 表中,还有一个 date 列,如 02.08.2016 (dd.mm.yy)。现在,当我查询表并获取按日期列排序的行时,我最终需要一个包含以月份分隔的多维数组的结果。 SELECT 语句就是这样;

SELECT * FROM inv ORDER BY date ASC

获取的结果应如下所示:

  array [0] { 

array [0] {
[num] => [230]
[date] => [02.08.2016] // august
[...]
}

array [1] {
[num] => [231]
[date] => [02.08.2016] // august
[...]
}
...
}

array [1] {

array [0] {
[num] => [350]
[date] => [10.09.2016] // september
[...]
}

array [1] {
[num] => [351]
[date] => [02.09.2016] // september
[...]
}
...
}

...

我需要它在每个月结束时创建一个单独的 CSV 导出文件。我可以使用巧妙的 mySQL 语句来实现此目的,还是需要随后使用 PHP 工具处理结果数组?如果是这样,最有效的方法是什么?

欢迎任何帮助和建议

编辑:

好像有什么误会。为了更清楚地说明,我需要列出每月所有可用发票的数组。假设表中有 10 个月,那么应该有 0..9 之间的 10 个数组。然后,每个数组都会将每月所有可用的发票列为数组(正如我在下面计算的那样)。假设数组 0(第一个月)包含 100 个发票数组。然后,每个发票数组都有一组与表的列 1:1 对应的单元格 (col)(不求和)。所以this.lau_的答案一定有不同的做法。它对我不起作用。

最佳答案

您可以按年/月分组,然后对 num 应用聚合函数(例如 AVGSUM 等) 。这应该有效:

SELECT
extract(year_month FROM date) as month,
SUM(num) as sum_num
FROM inv
GROUP BY month ORDER BY month ASC;

关于php - mysql : fetch multidimensional arrays separated and sorted by date column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com