我要做的是从column1
中选择每个不同的table1
值,然后从上面返回的那些行中选择所有列。这有可能吗?
到目前为止,我没有回复任何内容:
SELECT * FROM (SELECT DISTINCT column1 FROM table1)
我考虑过在查询的where
子句中添加一个唯一/不同的限制:
SELECT * FROM table1 WHERE some_unique_determiner column1
我有什么想法可以实现所需的输出?
答案 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)
这是一个错误的查询,因为它没有做任何事情。