【发布时间】:2012-10-19 18:03:45
【问题描述】:
我需要在我的.php 文件中按季度分组。在 bold 类型中,我显示需要修复的代码,即 switch case 4。刚才我对年、月、周和日进行了分组,但现在我需要季度名称 case 4。我试过了GROUP FUNCTION 的代码,但它显示了 2010 年和 2011 年的 5 个组,这是错误的。
switch ($level)
{
case '4':**
$group = "FLOOR(EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(invoice_date))/3)";</b>
break;
}
固定是
SQL 部分 案例“4”: $group = "EXTRACT(YEAR FROM_UNIXTIME(invoice_date)) as group_field2, EXTRACT(QUARTER FROM_UNIXTIME(invoice_date))"; 休息; $sql_select = $db->query("SELECT sum(amount) AS invoice_amount, " . $group ." AS group_field FROM " . DB_PREFIX . "invoices WHERE invoice_date>= " . $startup . " " . $user_query . " GROUP BY group_field, group_field2 ORDER BY group_field2 DESC, group_field DESC"); 文本 - 链接部分 案例“4”: $start = strtotime('+' . (($view_details_received['group_field'] - 1) * 3) . 'month', strtotime($view_details_received['group_field2'] . '/1/1')); $finish = strtotime('+' . (($view_details_received['group_field'] - 1) * 3 + 3) . 'month', strtotime($view_details_received['group_field2'] . '/1/1')); $start = getdate($start); $finish = getdate($finish - 86400); $title = 'Q' 。 $view_details_received['group_field2'] 。 ',' 。 $view_details_received['group_field']; 休息;【问题讨论】:
-
你指的那个错误是什么?
-
感谢 DAN 在 mysql 的 case4 部分中,我使用函数 FLOOR 进行按季度分组,但结果请参见此处的屏幕截图i48.tinypic.com/2z56smp.gif 对于 2010 年和 2011 年的季度不正确 5
-
YEAR_MONTH 会给你类似 201101 的结果。除以 3 没有多大意义。我认为您正在寻找替代 YEAR_MONTH 的东西。
-
是的 DAN,我需要按季度对发票进行分组......比如 2012 年的 4 个季度,2011 年的 4 个季度等等......但我不知道如何 :-( YEAR_MONTH 是一个想法,但很糟糕想法..任何建议请..