CREATE TABLE project(
Id int auto_increment primary key,
Name char(50) NOT NULL
)ENGINE = InnoDB;
CREATE TABLE car(
Id int auto_increment primary key,
ProjectId int(11) NOT NULL,
Plate char(10) NOT NULL,
Latitude varchar(50) DEFAULT '-6.221165',
Longitude varchar(50) DEFAULT '106.833286',
LastTemp varchar(20) DEFAULT '0',
LastSpeed varchar(20) DEFAULT '0',
LastGap double DEFAULT 0,
Mileage double DEFAULT 0,
CONSTRAINT fk_car_project FOREIGN KEY(ProjectId)REFERENCES project(Id) ON UPDATE CASCADE
)ENGINE = InnoDB;
CREATE TABLE car_log(
Id int auto_increment primary key,
CarId int NOT NULL,
Latitude varchar(50),
Longitude varchar(50),
Temp varchar(20),
Speed varchar(20),
Gap double DEFAULT 0,
LogDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_carlog_car FOREIGN KEY(CarId)REFERENCES car(Id) ON UPDATE CASCADE
)
表车用于保存汽车数据并且具有表项目的外键。用于保存汽车中每个移动的表格car_log(日志)。我已经创建了这个表的foreach对象。 在这种情况下,我想在项目中显示每个汽车摘要(每天的差距总和)。 这是我的查询时,我想在项目1Group By和HQL结果
select CarId, DATE(LogDate) dateOnly, sum(Gap)/1000 KM from car_log where CarId IN (SELECT Id FROM car where ProjectId = 1) group by CarId, dateOnly;
选择每款车的总结,但我不知如何在HQL处理这个问题。我尝试创建新的对象来处理这个问题,但是混淆了使用它。我想问一下如何解决这个问题,
public class CarLogDate {
private double km;
private Date date;
//constructor & setter getter
}
你有车表两次。可以发表正确的代码 – PSR 2013-03-22 04:25:29
对不起,谢谢修改。我编辑了我的代码, – 2013-03-22 04:57:45
您是否尝试过任何查询 – PSR 2013-03-22 04:58:54