现在我想要有一个其中leader_board_no不等于1的年份列表。
我的预期结果是:
年
但是当我跑步时
select `year` from `leaderboard_log` where `leader_board_no` != 1 and `year` != 2017 group by `year`
我只有2016年。
请有人帮我构建查询。
答案 0 :(得分:0)
如果您需要所有结果,
除外和
您可以使用NOT查询
where not (year = 2017 and LEADER_BOARD = 1);
答案 1 :(得分:0)
假设您要求结果仅在leader_board_no <> 1
时符合year = 2017
条件,那么只需使用OR
select `year` from `leaderboard_log` where `leader_board_no` != 1 or `year` != 2017 group by `year`
答案 2 :(得分:0)
得到我的答案
SELECT
`year`
FROM
`leaderboard_log`
WHERE
id NOT IN(
SELECT
id
FROM
`leaderboard_log`
WHERE
`leader_board_no` = 1 AND `year` = 2017
)
GROUP BY
`year`
在Laravel 5.2中:
$getYears = LeaderboardLog::select('year','id')
->whereNotIn('id', function($q) use ($current_leaderboard,$current_year){
$q->select('id')
->where('leader_board_no','=',$current_leaderboard)
->where('year','=',$current_year);
})->groupBy('year')->get();