MYSQL嵌套来自同一个表的select查询

时间:2016-01-17 10:41:16

标签: mysql sql select nested

我要做的是从column1中选择每个不同的table1值,然后从上面返回的那些行中选择所有列。这有可能吗?

到目前为止,我没有回复任何内容:

SELECT * FROM (SELECT DISTINCT column1 FROM table1)

我考虑过在查询的where子句中添加一个唯一/不同的限制:

SELECT * FROM table1 WHERE some_unique_determiner column1

我有什么想法可以实现所需的输出?

2 个答案:

答案 0 :(得分:0)

好的回答我自己的问题。我需要做的是按column1分组数据,而不使用嵌套查询。非常感谢@ VR46的帮助。

SELECT * FROM table1 GROUP BY column1

从column1

中的每个唯一值返回所有列

答案 1 :(得分:-1)

在接下来的帖子中,如果您发布表格结构,输入和期望输出会更好,这样我们就可以更容易理解。

如果我理解,可以选择以下两种方法之一:

您有重复项,并且想要消除它们,因此您的正确查询应该是

select distinct COLUMNa,COLUMNb,COLUMNc... ETC

将删除重复项(整行是相同的)。

或者您想要消除具有相同column1的行,如果所有其他行相同或不相同则无关紧要。 在这种情况下,您需要告诉我们您要保留哪一个结果,最新的一个,较旧的,随机的ETC ..因为现在它不可能让您在查看之后选择所有列,因为所有重复项将返回如下:

SELECT * FROM TABLE WHERE COLUMN1 IN(SELECT DISTINCT COLUMN1 FROM TABLE)

这是一个错误的查询,因为它没有做任何事情。