[英]Query Efficiency .contains
我想找到查詢表的最有效方法:Psuedo代碼很好
City Name Comment Mentioned
Tampa Steve "I don't like Jim"
Tampa Jim "Who is Steve"
Lincoln Sarah "Where is Angie"
Lincoln Angie "Hi Sarah"
我想找到一個城市中的人提到同一城市中的其他人的地方。 有大量的數據,所以我需要最有效的方法。 我知道如何以多種方式編寫查詢,但是我正在尋找最佳方式。 所以基本上是史蒂夫“提到”吉姆,但是如果史蒂夫提到莎拉,那是無關緊要的,因為他們不是來自同一座城市。 我正在尋找LINQ或SQL。 注意: Jim可能有20條不同的評論,這就是為什么我不確定在評論中搜索作者之前是否應該創建一個單獨的列表的原因。 提前致謝
select t.Name, t1.Name Mentioned
from table t
inner join table t1 on t.City = t1.City
where t.Comment like '%' + t1.Name + '%'
不是MySql用戶,所以我不知道這對MySql是否有效,但對其他DBs是否有效。
討論后添加:
select t1.City, t1.Name, names.Name Mentions
from table t1
cross join
(
select distinct x.Name, x.City
from table x
) names
where names.Name <> t1.Name
and t1.Comment like '%' + names.Name + '%'
(這是SQL Server語法。根據需要進行調整。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.