我不确定我应该在下面的SQL查询中写些什么来显示"日期"列,比如:"月-年"-"9-2011".

SELECT MONTH(date) + '.' + YEAR(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada 
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY MONTH(date), YEAR(date)

所以,我想做的是将数据从第一列改为显示月份和年份,而不是只显示月份.

推荐答案

SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada 
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))

或者正如@40 Love提到的,你可以使用前导零进行施放:

GROUP BY 
  CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2) 

Sql相关问答推荐

优化SQL查询流

SQL计数所有值在联接范围内的行

Postgresql:从jsons数组到单个id索引的json

无效和不匹配的计数

如何在不更改S代码的情况下,判断存储过程调用了多少次clr函数?

如何根据计数和分组获取订单总数

仅在特定字符串之后提取两个圆括号之间的计量单位文本

MariaDB查询在逗号分隔的字符串中查找多个值

使用DatePart函数对日期时间值进行分组

SQL仅返回第一个字母在A-Z之间的值

将时间范围划分为全天和前后剩余小时

在Postgres,什么是;.USSTZ;在';YYYY-MM-DD;T;HH24:MI:SS.USSTZ';?

根据具有特定值的 ID 创建自定义组

DB2 SQL查询结果多余数据

使用临时表判断记录是否存在 - 如果存在则执行相同的操作

基于变量的条件 WHERE 子句

识别SQL Server中的重复数字

添加一列并根据其他列值进行填充

从每行中排除最大元素

SQL 计数和过滤查询优化