max online
需要帮助:
我需要按天分组SELECT id, date, MAX(online)
FROM `record_online_1`
GROUP BY DAY(date)
(http://prntscr.com/a7j2sm)
我的sql选择:
max online
和结果 - http://prntscr.com/a7j3sp
这是不正确的结果,因为date
是正确的,但此顶级在线的id
和class A {
protected _name: string = ""
set name(name: string) {
this._name = name
}
get name() {
return this._name
}
}
class B extends A {
// Removed _name declaration here
set name(name: string) {
super["name"] = name + "B" // <=== Using super here
}
get name() {
return super["name"] // <=== And here
}
}
var b = new B();
b.name = "foo";
console.log(b.name); // "fooB"
不正确。我没有想法如何解决这个问题..
UPD:使用MySQL MariaDB
答案 0 :(得分:2)
执行聚合函数时,必须在SELECT语句中包含不属于GROUP BY子句中聚合函数一部分的项。在T-SQL中,如果您还没有GROUP BY“id”,则根本无法执行上述查询。但是,某些数据库系统允许您放弃此规则,但它不够聪明,无法知道它应该带给您哪个ID。例如,如果该段的所有“ID”都相同,则应该只执行此操作。
那你该怎么办?分两步完成。第一步,找到最大值。您将丢失ID和DATETIME数据。
SELECT DAY(date) AS Date, MAX(online) AS MaxOnline
FROM `record_online_1` GROUP BY DAY(date)
以上内容将为您提供每日最高限额的日期列表。 INNER将此连接到原始“record_online_1”表,特别加入日期和最大值。您可以使用CTE,临时表,子查询等来执行此操作。