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)
这是一个错误的查询,因为它什么也没做。
我想要做的是 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)
这是一个错误的查询,因为它什么也没做。