MYSQL - 获取具有相同ID的1条以上记录的所有记录

时间:2018-05-29 19:06:00

标签: mysql sql

如果我没有正确解释这一点,我会提前道歉。我几乎无法用英语来解释它,更不用说在mysql查询中了。

我正在尝试获取response_set_ids的列表question_id,其中+----+-----------------+-------------+-----------+ | id | response_set_id | question_id | answer_id | +----+-----------------+-------------+-----------+ | 1 | 10 | 1 | 4 | | 2 | 10 | 2 | 5 | | 3 | 10 | 3 | 6 | | 4 | 10 | 3 | 7 | | 5 | 11 | 1 | 8 | | 6 | 11 | 2 | 9 | | 7 | 11 | 3 | 10 | +----+-----------------+-------------+-----------+ 的记录超过1条。

这是我的数据示例:

10

我想有一个查询会返回一个列表response_set_ids,在这个特定的例子中,我希望得到返回question_id -> 3,因为response_set有select response_set_id, count(question_id) from responses group by response_set_id;出现多次。

如果您需要任何进一步的信息,请告知我们。

我试过这个: --logdir

但这只能给出每个response_set的问题数。

先谢谢你了!

3 个答案:

答案 0 :(得分:1)

select distinct response_set_id from (
    select  response_set_id , question_id  
    from 
    responses
    group by 
    response_set_id, question_id
    having count(*)>1) a

答案 1 :(得分:1)

最简单的方法不使用子查询:

SELECT DISTINCT response_set_id
FROM responses
GROUP BY response_set_id, question_id
HAVING COUNT(*) > 1;

这是select distinctgroup by {适应}使用tf.div(7, 5) # >>> 1 tf.div(-7, 5) # >>> -2 tf.div(7.0, 5.0) # >>> 1.4 的极少数情况之一。

答案 2 :(得分:0)

我相信此问题之前已被提出,但我无法在我当前的代表处添加评论:

{{1}}