請(qǐng)?jiān)诖嗽敿?xì)描述你所遇到的問題
【產(chǎn)品名稱】:多商戶 JAVA版
【部署環(huán)境】:例:本地環(huán)境 / 線上環(huán)境
【Mysql版本】::5.7
【使用終端】: H5
首頁報(bào)錯(cuò)。
com.zbkj.service.service.impl.SeckillActivityTimeServiceImpl.findActivityByDateTime --根據(jù)時(shí)間獲取秒殺活動(dòng) ,
findActivityByDateTime 這個(gè)方法是這也寫的
/** * 根據(jù)時(shí)間獲取秒殺活動(dòng)
* @return 秒殺活動(dòng)ID列表
*/@Override
public List<Integer> findActivityByDateTime(Integer dateInt, Integer timeInt) {
LambdaQueryWrapper<SeckillActivityTime> lqw = Wrappers.lambdaQuery();
lqw.select(SeckillActivityTime::getId, SeckillActivityTime::getSeckillId);
lqw.le(SeckillActivityTime::getStartDate, dateInt);
lqw.ge(SeckillActivityTime::getEndDate, dateInt);
lqw.le(SeckillActivityTime::getStartTime, timeInt);
lqw.ge(SeckillActivityTime::getEndTime, timeInt);
lqw.groupBy(SeckillActivityTime::getSeckillId);
List<SeckillActivityTime> timeList = dao.selectList(lqw);
return timeList.stream().map(SeckillActivityTime::getSeckillId).collect(Collectors.toList());
}
它執(zhí)行出的sql是這樣的
SELECT id,seckill_id FROM eb_seckill_activity_time WHERE (start_date <= ? AND end_date >= ? AND start_time <= ? AND end_time >= ?) GROUP BY seckill_id
報(bào)錯(cuò)如下:
### Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'crmeb.eb_seckill_activity_time.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'crmeb.eb_seckill_activity_time.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
這是哪里有問題呢?