MySQL组由两列组成

时间:2011-04-29 03:30:15

标签: mysql

我有一个带有字段id,name,address的mysql表。 有些条目名称相同但地址不同;有些地址相同,但名称不同。

我希望获得一个列表,其中每个唯一地址最多包含一个条目,每个唯一名称最多包含一个条目。

如果我可以按名称进行分组,然后将结果放入临时表,然后再次选择并按地址分组,那么我会得到我想要的 - 但这看起来太复杂了。

做一个“按名称,地址分组”不会给我我想要的东西 - 这将包括所有不同名称,地址组合的条目,而我希望每个名称有一个条目,每个地址有一个条目。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

可能有一种更好的方法可以做到这一点,我对你想要的东西做了一些假设,但你可以尝试这样的事情:

SELECT Name, '' AS Address, Count(Address) AS RowCount
  FROM TableName
  GROUP BY Name
UNION
SELECT '' AS Name, Address, Count(Name) AS RowCount
  FROM TableName
  GROUP BY Address