Sql 嗯,最小。。。或者将其分组在“GROUPBY子句”中。抱歉,如果您不懂我的英语,它不是我的第一语言。因此,在聚合和分组表达式中,SELECT子句只能包含聚合和分组表达式。[Select子句=,date],我对此不太了解,但当我从一开始就使用这个查询时,没有

Sql 嗯,最小。。。或者将其分组在“GROUPBY子句”中。抱歉,如果您不懂我的英语,它不是我的第一语言。因此,在聚合和分组表达式中,SELECT子句只能包含聚合和分组表达式。[Select子句=,date],我对此不太了解,但当我从一开始就使用这个查询时,没有,sql,sql-server,inner-join,datepart,Sql,Sql Server,Inner Join,Datepart,嗯,最小。。。或者将其分组在“GROUPBY子句”中。抱歉,如果您不懂我的英语,它不是我的第一语言。因此,在聚合和分组表达式中,SELECT子句只能包含聚合和分组表达式。[Select子句=,date],我对此不太了解,但当我从一开始就使用这个查询时,没有datepart内容,需要内部联接是因为我无法将MAX(..)与SUM(..)结合起来因为MAX只会给出一个结果,SUM会给出更多的结果,因为有时数据库中有多行具有相同的日期!问题是我必须按表达式分组,而不是按别名分组,我将使用正确的查询对其进


嗯,最小。。。或者将其分组在“GROUPBY子句”中。抱歉,如果您不懂我的英语,它不是我的第一语言。因此,
在聚合和分组表达式中,SELECT子句只能包含聚合和分组表达式。[Select子句=,date]
,我对此不太了解,但当我从一开始就使用这个查询时,没有datepart内容,需要内部联接是因为我无法将MAX(..)与SUM(..)结合起来因为MAX只会给出一个结果,SUM会给出更多的结果,因为有时数据库中有多行具有相同的日期!问题是我必须按表达式分组,而不是按别名分组,我将使用正确的查询对其进行编辑。而且,因为sum和max都是聚合操作数,所以它们可以一起工作。哇,真是太酷了!也许我之前的问题是因为我没有使用datepart时按日期分组,或者它仍然可以同时使用max和sum?您发布的第二个查询有一个问题,即您没有按“datepart(wk,date)”进行搜索,因此这会导致两个不同的计数结果。同样,在第二个查询中,您是按天分组的,而不是按要求按周分组的。使用摸索操作数时最重要的一点是,要返回的每个变量的结果数必须相同,使用摸索操作数,如max、count、min。。。或者将其分组在“GROUPBY子句”中。对不起,我的英语如果你不懂的话,那不是我的第一语言。
var querytest = "SELECT DATEPART(wk, date), sum((kg * rep * sett)) as weight, 
sum(kg / max * rep * sett) as avg, sum((rep * sett)) as reps 
FROM Test WHERE date between @0 and @1 AND exercise < 4 GROUP BY DATEPART(wk, date)";   
                                                 ^
var querythiss = "SELECT DATEPART(wk, date), SUM(kg * rep * sett) as weight, SUM(kg / max * rep * sett) as avg, SUM(rep * sett) as reps, " +
                " t.date, pk.peak FROM Test t INNER JOIN (SELECT MAX(kg / max) as peak, date FROM Test WHERE date BETWEEN @0 AND " +
                " @1 AND exercise < 4 group by date) as pk on t.date = pk.date WHERE t.date BETWEEN @0 AND @1 AND exercise < 4 GROUP " +
                "BY t.date, pk.peak";
SELECT DATEPART(wk, date),
    SUM(kg * rep * sett) as weight, 
    SUM(kg / max * rep * sett) as avg,   
    SUM(rep * sett) as reps,
    t.date, pk.peak 
FROM Test t INNER JOIN 
(
    SELECT MAX(kg / max) as peak, date 
    FROM Test 
    WHERE date BETWEEN @0 AND @1 
    AND exercise < 4 
    GROUP BY date
) as pk on t.date = pk.date 
WHERE t.date BETWEEN @0 AND @1 AND exercise < 4
GROUP BY t.date, pk.peak
SELECT pk.dateWeek,
    SUM(kg * rep * sett) as weight, 
    SUM(kg / max * rep * sett) as avg,   
    SUM(rep * sett) as reps,
    pk.peak 
FROM Test t 
INNER JOIN 
(
    SELECT MAX(kg / max) as peak, DATEPART(wk, date) as dateWeek 
    FROM Test 
    WHERE date BETWEEN @0 AND @1 
    AND exercise < 4 
    GROUP BY DATEPART(wk, date)
) as pk on  DATEPART(wk, t.date) = pk.dateWeek 
WHERE date BETWEEN @0 AND @1 
AND exercise < 4
GROUP BY  pk.dateWeek, pk.peak
SELECT DATEPART(wk, date) as wknumber, sum((kg * rep * sett)) as weight, 
sum(kg / max * rep * sett) as avg, sum((rep * sett)) as reps,
max(kg / max) as peak
FROM Test WHERE date between @0 and @1 AND exercise < 4 GROUP BY DATEPART(wk, date)