如果这是重复(很可能是),我很抱歉。我花了很长一段时间寻找问题,但找不到确切的答案。
我构建了一个SQL函数(在MSSQL中),它根据参数返回按年份、月份或仅按年份分组的行:
CREATE FUNCTION get_report (@grouping VARCHAR(30))
RETURNS TABLE
AS
RETURN
(
SELECT
YEAR(t.my_date) as my_year,
CASE when @grouping = 'monthly' THEN MONTH(t.my_date) ELSE null END as my_month,
我遇到了一个Group ()子句问题。我的代码是
SELECT con.Name, con.contractID, Sum(cplanit.Cost) as costs, DATENAME(month,month(cplanit.PaymentDate)) as month, year(cplanit.PaymentDate) as year
FROM ContractTable con
INNER JOIN [a lot of tables] ON [joins proofed and working fine]
Group By con.Name, con.contractID, D
我有两个类型为string的对象,其中我以dd/MM/yyyy格式检索日期,我需要格式化这个日期,只显示月份和年份,以便在groupby中使用该对象按月分组记录。我如下所示,检索另一个对象中的日期以应用格式设置:
//Object where I retrieve the date with dd/MM/yyyy normally
public string DataCupom { get; set; }
//Object where I retrieve the value of DataCupom and I'm trying to apply the formatting
pu
我尝试按给定的年份(比如2008年)进行匹配,然后按月份分组,以便找到2008年每个月的计数。到目前为止,我可以按月分组,但我无法只按特定年份进行过滤。datetime列存储为date对象 database.coll.aggregate([
# some expression that will only select year e.g. 2018
{$match : {}},
{$group : {
_"id" : {$month : $date}, # group by year
我有一个MYSQL表,在年份上有分区,在月份上有子分区。
CREATE TABLE ptable (
id INT NOT NULL AUTO_INCREMENT,
name varchar(100),
purchased DATETIME NOT NULL,
PRIMARY KEY (id, purchased)
)
PARTITION BY RANGE( YEAR(purchased) )
SUBPARTITION BY HASH( MONTH(purchased) )
SUBPARTITIONS 12 (
PARTITION p0 VALUES LESS
如何使用日期字段的月份和年份进行ORM查询。
select sum(price) from mytable group by month(start_date),year(start_date);
上面的查询给出了准确的结果。但在ORM中,我尝试了如何按月和年分组。
我的ORM查询
rv_per_month = Price_Report.objects.filter(item__in=item_Arr).aggregate(Sum('revenue'))
上面的orm查询给出了sum(价格)。但我要按月和年分组
我在数据库中有一些日期/事件,我想将它们按月排序(年份并不重要)--现在所有的时间戳都在unix中的一个名为eventDate的列中。如何进行查询呢?
SELECT * FROM calendar ORDER BY eventDate
显然,这是对它们进行排序,但我希望确保所有年份的所有事件都按月进行分组-然后显然需要将它们安排在1月、2月、3月等。
有什么建议吗?
谢谢!
我正在处理一个查询,以计算给定月份和年份的结果数量。但是,我还需要使用完整的日期来创建月份和年份字符串。我知道select子句中的任何内容都必须在group by子句中。但是,我只想按月份和年份进行分组,以获得正确的计数结果。我该如何解决这个问题?
SELECT category, Count(ID), MONTH(aDate) AS month , YEAR(aDate) AS year, aDate,
CONVERT(CHAR(4),aDate) , 100) + CONVERT(CHAR(4),aDate) , 120) as monthYear
FROM table
GROUP BY
给定一个具有日期列的表,并给出一个在一年的给定范围(如“11月20日至2月20日”)中选择日期的查询,如果日期的年份部分不重要(例如即将到来的生日),如何按照所选时间范围的正确时间顺序按月对结果进行排序?
例如,如果查询获取11月20日至2月20日之间的所有日期,而不论年份,则应按顺序对它们进行排序:
Nov -> Dec -> Jan -> Feb
但按月分类实际上产生了:
Jan -> Feb -> Nov -> Dec
或者倒排的排序产生:
Dec -> Nov -> Feb -> Jan
两者都是错的。
下面是一个在年底有三天时间范
我有一份SSRS 2008报告,该报告生成了几个月的列以及基于年份减半的其他数据。我已经为Mon设置了tablix列组和排序,而今年上半年的生成还不错,但是当我运行下半年的报告时,它并没有按顺序显示:
MonthNumber 10 11 12 7 8 9
MonthName October Movember December July August September
使用的SQL代码生成以下按月号顺序显示的行。
Mon
7
8
9
10
11
12