如何仅选择以特定topic_id('5000')开始/开始且包含多个topic_id的会话?伪代码中的WHERE子句中的代码。MySQL group_concat WHERE字段中的第一项具有特定ID
request_id session_id topic_id
1 1 3000
2 1 5000
3 2 5000
4 2 3000
5 2 6000
6 3 5000
SELECT
min(request_id),
session_id,
group_concat(topic_id order by request_id asc SEPARATOR ' ,')
FROM requests
WHERE (first(topic_id) = '5000' AND count(topic_id) > 1)
group by session_id
order by request_id asc
result:
request_id session_id topic_id
3 2 5000, 3000, 6000
我知道这应该与子查询,但我不知道如何。谢谢!!
“开始”的话题是什么意思?我们如何看到会话不仅包含主题,而且还以它开头?在会话表中,我们会在每个会话中找到一条记录,那么我们在哪里可以找到相关主题? –
我添加了一个表格的例子,所以我希望这能够澄清我的问题。 “从......开始”意味着只应选择以topic_id 5000开头的会话。 – LarsVegas