MYSQL 来自同一 table 的嵌套 select 查询

MYSQL nested select query from same table

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

我目前拥有的,但是,没有任何返回:

SELECT * FROM (SELECT DISTINCT column1 FROM table1)

我考虑过在查询的 where 子句中加入 unique/distinct 限制:

SELECT * FROM table1 WHERE some_unique_determiner column1

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

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

SELECT * FROM table1 GROUP BY column1

从第 1 列的每个唯一值返回了所有列

在你接下来的 post 中,如果你 post 你的 table 结构、输入和期望的输出会更好,这样我们就更容易理解。

如果我确实理解,则有两个选项之一:

要么你有重复项,并且你想消除它们,那么你的正确查询应该是

select distinct COLUMNa,COLUMNb,COLUMNc... ETC

这将删除重复项(整行都相同)。

或者您想要消除具有相同 column1 的行,而其余所有行是否相同并不重要。 在那种情况下,您需要告诉我们您想要保留哪个结果,最新的那个,旧的,随机的 ETC .. 因为现在不可能让您在区分后选择所有列的查询,因为所有重复项都将 return 像这样:

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

这是一个错误的查询,因为它什么也没做。