如何在mysql中执行group by后改进此查询以删除重复项

时间:2012-07-31 12:02:44

标签: mysql

我有以下查询查询共享相同父域名的所有条目(例如:aaa.msn.com,bbb.msn.com .ffffms.com),按键值对它们进行分组。我的要求是:如果条目共享相同的域名,我需要将密钥值仅保存一次。因此,我需要删除共享相同父域名的重复条目及其键值。

这是我当前的查询。我的问题:如何删除重复的值?当我进行分组时,根据MySQL返回值的标准。例:查询返回给我的域名,一个SQL选择了哪个?第一个按字母顺序排列还是什么?

SELECT table1.domainname, 
table2.keyvalue
FROM db.table1
INNER JOIN db.table2
ON table1.domainname=table2.domainname
WHERE table1.domainname like '%msn.com' Group by table2.keyvalue ORDER BY
table1.domainname;

我有很多这样的案例,所以我需要切实可行的解决方案。

编辑::同时,我在一个查询中查询每个父域名。例如:我对yahoo.com执行查询,为msn.com执行另一个查询等。虽然我的数据库包含许多共享父域名的条目。我的意思是父域名是这样的:[a-z0-9\-]+\.[a-z]{2,3}(\.[a-z]{2}),即任何字母或数字,后跟点(两到三个字母),后面可能跟另一个点(两个字母)和父母域名可能以子域名开头。

0 个答案:

没有答案