2

名前とアドレスを含むMySQLデータベースがありますが、次のような部分的なアドレスのみを持つ重複した名前がいくつかあります

Name  | Address 
========================
Smith | 10 Main St., Cincinnati, OH 45202
Smith | 10 Main St.

名前が重複しており、2 つの LIKE アドレスのうち短い方の行をすべて選択するには、SQL クエリが必要です。正確な重複には GROUP BY と COUNT() を使用できましたが、上記の例のような部分文字列にそれを適用する方法がわかりません。何か案は?ありがとう。

4

1 に答える 1

2

このようなものが動作するはずです:

select * from mytable as t1
 inner join mytable as t2
 on t1.Name = t2.Name
 and t1.Address like concat(t2.Address, '%')
 and t1.Address != t2.Address;
于 2012-08-21T21:48:03.760 に答える