English 中文(简体)
自我考虑
原标题:self join with a self-referring condition

我想做的是获得所有几乎完全重复的记录,除非重复在名字开始时没有额外果园。

这是我的 que问:

select * from tags as spaced inner join tags as not_spaced on not_spaced.name = substring(spaced.name, 2);

我还尝试:

 select * from tags as spaced where (select count(*) from tags as not_spaced where not_spaced.name = substring(spaced.name, 2)) > 0;

What I m getting is... the SQL connection stops responding. Thanks!

页: 1 所有其他领域都不重要(如果有的话)。

问题回答

类似情况:

from tags union all

select all potentially duplicated fields except name , substring(name, 2) name

from tags

having count(*) > 1

如果这些表格非常庞大,就在<代码>上填入<<<><>/code>和(代号:2)<<>>,使之更快:

select t1.* from tags t1
inner join tags t2 on t1.name = substring(t2.name, 2)

即便有索引,您的询问也将要求在<代码>上的每个记录上核对tags/code>。

如果每张表格有1 000个记录,则总数为1 000 000 000个。

www.un.org/Depts/DGACM/index_spanish.htm

最好不要设立一个仅两个领域的临时表格:spaced.id, substring(t2.name, 2)为短名,然后将短名领域索引。 加入这一临时和指数表的速度将大大加快。

如果不了解非行,表格的指数化等,它只是尝试不同的东西,直到更好地优化。

Here is another query you can try:

SELECT name, count(*) c FROM (
    SELECT name FROM tags
    UNION ALL
    SELECT substring(name, 2) AS name FROM tags
) AS t
GROUP BY name




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...