簡體   English   中英

查詢效率包含

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM