添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

先看出问题的查询SQL

SELECT
	ANY_VALUE ( CONCAT(s.date_year,'年',s.date_quarter,'季度') ) AS time,
	SUM( s.order_amount ) AS order_amount,
	SUM( s.total_weight ) AS total_weight 
SELECT
	somd.sales_number,
	som.order_amount,
	somd.total_weight,
	DATE_FORMAT( som.create_time, "%Y-%m-%d" ) AS create_time,
	t.date_year,
	t.date_month,
	t.date_quarter
	( SELECT sales_number, SUM( total_weight ) AS total_weight FROM sales_order_manage_details GROUP BY sales_number ) AS somd
	LEFT JOIN sales_order_manage som ON som.sales_number = somd.sales_number
	LEFT JOIN tcalendar t ON DATE_FORMAT( som.create_time, "%Y-%m-%d" ) = t.date_desc 
	) AS s 
WHERE
	s.create_time BETWEEN '2021-02-01'
	AND '2022-02-01'
GROUP BY
	s.date_quarter

查询的结果:
在这里插入图片描述
看查询时间,在2022年1月是有数据的,是属于第1季度,这里sql把数据合到2021年第1季度里面去了。

解决方法,将季度和年先拼接在一起,

CONCAT(t.date_year,'年',t.date_quarter,'季度') as quar

再进行按 “年+季度”分组Group By

SELECT
	s.quar as time,
	SUM( s.order_amount ) AS order_amount,
	SUM( s.total_weight ) AS total_weight 
SELECT
	somd.sales_number,
	som.order_amount,
	somd.total_weight,
	DATE_FORMAT( som.create_time, "%Y-%m-%d" ) AS create_time,
	t.date_year,
	t.date_month,
	t.date_quarter,
	CONCAT(t.date_year,'年',t.date_quarter,'季度') as quar
	( SELECT sales_number, SUM( total_weight ) AS total_weight FROM sales_order_manage_details GROUP BY sales_number ) AS somd
	LEFT JOIN sales_order_manage som ON som.sales_number = somd.sales_number
	LEFT JOIN tcalendar t ON DATE_FORMAT( som.create_time, "%Y-%m-%d" ) = t.date_desc 
	) AS s 
WHERE
	s.create_time BETWEEN '2021-02-01'
	AND '2022-02-01'
GROUP BY
	s.quar

查询结果:
在这里插入图片描述

先看出问题的查询SQLSELECT ANY_VALUE ( CONCAT(s.date_year,'年',s.date_quarter,'季度') ) AS time, SUM( s.order_amount ) AS order_amount, SUM( s.total_weight ) AS total_weight FROM (SELECT somd.sales_number, som.order_amount, somd.total_weight, DATE_FORMAT( s
select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DAT...
在 SQL 中,你可以使用 GROUP BY 子句来按季度分组数据。 举个例子,假设你有一个名为 sales 的表,其中包含一列名为 date 的日期列,以及一列名为 amount 的金额列。为了按季度分组查询这张表中的数据,你可以使用以下 SQL 语句: SELECT QUARTER(date) AS quarter, SUM(amount) AS total_sales FROM sa...
您好!针对您的问题,我可以给出以下解决方案: 在MySQL中,可以使用GROUP BY和COUNT函数一起使用来对结果进行分组计数。例如,可以按照某个列分组,然后计算每个分组中的行数。 具体的语句是: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; 其中,`column_name`是您想要按照其进行分组的列名,`table_name`是您要查询的表名。这个语句将返回每个不同的`column_name`值以及每个分组中的行数。 如果您想要进一步筛选结果,可以在查询中添加WHERE子句。例如: SELECT column_name, COUNT(*) FROM table_name WHERE some_column = 'some_value' GROUP BY column_name; 这个查询将只返回`some_column`列中值为`'some_value'`的行,并按照`column_name`列进行分组计数。 希望这个解决方案能够帮助到您!如果您有其他问题,请随时提出。