Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL-获取具有相同id的多条记录的所有记录_Mysql_Sql - Fatal编程技术网

MYSQL-获取具有相同id的多条记录的所有记录

MYSQL-获取具有相同id的多条记录的所有记录,mysql,sql,Mysql,Sql,如果我没有正确解释,我提前道歉。我几乎无法用英语解释,更不用说mysql查询了 我正在尝试获取一个问题\u id具有多条记录的响应\u集\u id列表 以下是我的数据示例: +----+-----------------+-------------+-----------+ | id | response_set_id | question_id | answer_id | +----+-----------------+-------------+-----------+ | 1 |

如果我没有正确解释,我提前道歉。我几乎无法用英语解释,更不用说mysql查询了

我正在尝试获取一个
问题\u id
具有多条记录的
响应\u集\u 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 |
+----+-----------------+-------------+-----------+
我希望有一个查询返回一个列表响应集id,在这个特定示例中,我希望返回
10
,因为该响应集有
question\u id->3
多次显示

如果您需要任何进一步的信息来帮助我,请告诉我

我试过这个:
选择响应集合id,按响应集合id从响应组中计数(问题id)

但这只给出了每个回答集的问题数


提前谢谢你

我相信以前有人问过这个问题,但我无法在我目前的代表处添加评论:

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
SELECT DISTINCT response_set_id
FROM responses
GROUP BY question_id
HAVING COUNT(question_id) > 1

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

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

这是使用
select distinct
groupby

组合(适当地)的极少数实例之一。请参阅下面的答案,我确信多次这样做无效。它返回的记录与我尝试执行的操作不匹配。我很抱歉,如果这个问题被问了几千次,我找不到有效的方法。我需要找到多次具有相同问题id的响应集id。问题_id可用于其他回答_set _id。谢谢!但这也不起作用:(它没有返回任何内容,而它本应至少返回1条记录。如果我弄清楚为什么不起作用,我会考虑一下,然后再与您联系。抱歉,删除id-现在应该起作用-随时查看上面的更新-如果您需要其他更好的帮助,请告诉我!效果很好。谢谢