Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 从包含其他列的表中选择不同的值_Mysql_Sql - Fatal编程技术网

Mysql 从包含其他列的表中选择不同的值

Mysql 从包含其他列的表中选择不同的值,mysql,sql,Mysql,Sql,我对distinct的使用有以下SQL注释: …这给了我 我想去掉第一列中重复的行。我遗漏了什么?如果您希望每项内容有一行,请使用聚合。大概是这样的: SELECT question_id AS id, question_id AS object_id, MIN(created_at) AS created, MAX(created_at) AS lastmessage, 'T' AS object_type FROM responses GROUP B

我对distinct的使用有以下SQL注释:

…这给了我


我想去掉第一列中重复的行。我遗漏了什么?

如果您希望每项内容有一行,请使用聚合。大概是这样的:

SELECT question_id AS id, question_id AS object_id,
       MIN(created_at) AS created,
       MAX(created_at) AS lastmessage,
       'T' AS object_type
FROM responses
GROUP BY question_id;

谢谢戈登…你真厉害!DISTINCT将消除重复的行,但是我可以从你的截图中看到,这些不是重复的行,只是重复的问题id。正如@草莓也给你指出的那样,阅读那篇文章,然后重新修改你的问题。请提供MRE、样本数据,并解释您实际想要实现的目标,以便我们能够适当地帮助您。DISTINCT不仅适用于第一列-它适用于您选择列表中的所有列。换句话说,如果整行与结果中的其他行有任何差异,它将被视为一个不同的行。这是SQL程序员经常犯的错误。
SELECT question_id AS id, question_id AS object_id,
       MIN(created_at) AS created,
       MAX(created_at) AS lastmessage,
       'T' AS object_type
FROM responses
GROUP BY question_id;