MySQL由两列组成的组
我有一个mysql表,其中包含id、name和address字段。 有些条目名称相同,但地址不同;有些人的地址相同,但名字不同 我想得到一个列表,包括每个唯一地址最多一个条目和每个唯一名称最多一个条目 如果我可以按名称分组,然后将结果放入临时表中,然后再次选择并按地址分组,那么我将得到我想要的结果,但这似乎太复杂了MySQL由两列组成的组,mysql,Mysql,我有一个mysql表,其中包含id、name和address字段。 有些条目名称相同,但地址不同;有些人的地址相同,但名字不同 我想得到一个列表,包括每个唯一地址最多一个条目和每个唯一名称最多一个条目 如果我可以按名称分组,然后将结果放入临时表中,然后再次选择并按地址分组,那么我将得到我想要的结果,但这似乎太复杂了 按姓名、地址分组并不能得到我想要的信息——这将包括所有不同姓名、地址组合的条目,而我希望每个姓名和地址各有一个条目。谢谢你的帮助 也许有更好的方法可以做到这一点,我正在对你想要什么做
按姓名、地址分组并不能得到我想要的信息——这将包括所有不同姓名、地址组合的条目,而我希望每个姓名和地址各有一个条目。谢谢你的帮助 也许有更好的方法可以做到这一点,我正在对你想要什么做一些假设,但你可以试试这样的方法:
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
看起来需要两个查询,因为每个列的结果集长度不同。为什么不进行两次选择,每列一次,按该列分组?您希望从该集合中得到什么结果?a、 我不能百分之百确定你的最终目标是什么,但这听起来像是一个独特的关键词“我对你有用”。同样,在不知道你想要的结果的情况下,我无法得到任何更具体的结果。谢谢,但这不会给我一个姓名、地址对,而是一个姓名列表,后跟一个地址列表。至于我的问题,如果不清楚-如果我可以按姓名分组,然后将结果放入临时表,然后再次选择并按地址分组,那么我将得到我想要的结果-但这似乎太复杂了。olym,你需要回答piotrm的评论