以下是一个示例表:
userid, action
123, play
123, purchase,
345, login
123, level_up
456, sign_out
我如何查询具有action ='play'和action ='level_up'的用户ID?
我想要打印类似
的内容123, play
123, purchase,
123, level_up
这是我的结束:
SELECT DISTINCT userid
FROM sampleTable
WHERE action IN ('purchase', 'level_up')
答案 0 :(得分:2)
{{1}}
选择值为“play:first first to the trick
的动作的id答案 1 :(得分:1)
SELECT *
FROM SampleTable
WHERE userid IN
(SELECT userid
FROM SampleTable
WHERE action='play')
ORDER BY userid, action;
答案 2 :(得分:1)
SELECT userid,action
FROM sampleTable
WHERE action IN ('play', 'level_up')
只是它应该有用。
购买行动 -
SELECT userid,action
FROM sampleTable
WHERE action IN ('play', 'level_up', 'purchase')
答案 3 :(得分:1)
我误解了这个问题,但现在我已经重新阅读了它,我认为这更接近标记......
SELECT t.userid, t.action, t2.action
FROM SampleTable t
JOIN SampleTable t2 ON t.userid=t2.userid
WHERE t.action='play' AND t2.action='level_up'
ORDER BY t.userid;
这将显示同时具有'play'动作和'level_up'动作的用户ID。