You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite LEFT JOIN结合WHERE子句查询未返回预期结果的问题求助

SQLite LEFT JOIN结合WHERE子句查询未返回预期结果的问题求助

各位好,我在SQLite里使用LEFT JOIN搭配WHERE子句做查询时遇到了麻烦,怎么都得不到想要的结果,想请教大家帮忙排查问题🙏

我有两张表:contents和actions,需求是返回所有关联内容创建日期在指定区间内的动作记录——也就是只要某个内容的创建日期在日期A和B之间,它对应的所有动作都应该被查询出来。

表结构与示例数据

Contents表

content_idcreation_datecontent
12023-01-02A
22022-12-11B
32022-12-31C
42023-01-07D
52023-01-22E

Actions表

action_idActioncontent_id
1CLICK2
2CLICK1
3SEND1
4SEND1
5CLICK3
6SEND4
7SEND4
8CLICK3
9CLICK5

我写的查询语句

SELECT
    c.content_id,
    c.creation_date,
    c.content,
    a.action_id,
    a.action
FROM content c
LEFT JOIN actions a ON a.content_id = c.content_id
WHERE c.creation_date BETWEEN '2023-01-01' AND '2023-01-30'
GROUP BY a.action_id

预期结果与实际结果

我原本期望得到的结果是这样的:

content_idcreation_datecontentaction_idaction
12023-01-02A2CLICK
12023-01-02A3SEND
12023-01-02A4SEND
42023-01-07D6SEND
42023-01-07D7SEND
52023-01-22E9CLICK

但实际运行后,只返回了每个符合日期条件的内容对应的第一条动作记录,而不是所有关联的动作。奇怪的是,如果我去掉WHERE子句,就能正常获取所有动作记录。

请问我是不是哪里考虑不周或者语法写错了?

备注:内容来源于stack exchange,提问作者Bill Dukelow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:40:32