我需要在我的.php
文件中逐年分组。在粗体类型中,我显示需要修复的代码,也就是切换案例4.刚才我分组正确的年,月,周和日,但现在我需要季度名称案例4.我试过这个GROUP FUNCTION
的代码,但在2010年和2011年向我显示了5个组,这是错误的。
switch ($level)
{
case '4':**
$group = "FLOOR(EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(invoice_date))/3)";</b>
break;
}
固定IS
SQL PART case '4': $group = "EXTRACT(YEAR FROM FROM_UNIXTIME(invoice_date)) as group_field2, EXTRACT(QUARTER FROM FROM_UNIXTIME(invoice_date))"; break; $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"); TEXT - LINK PART case '4': $start = strtotime('+' . (($view_details_received['group_field'] - 1) * 3) . ' months', strtotime($view_details_received['group_field2'] . '/1/1')); $finish = strtotime('+' . (($view_details_received['group_field'] - 1) * 3 + 3) . ' months', 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']; break;
答案 0 :(得分:2)
您可以在SQL中使用EXTRACT(QUARTER FROM date),然后定期执行GROUP BY
请参阅MySQL网页上的EXTRACT documentation和table of possible arguments。