次のようなサンプルデータがあります。
Johnson; Michael, Surendir;Mishra, Mohan; Ram
Johnson; Michael R.
Mohan; Anaha
Jordan; Michael
Maru; Tushar
クエリの出力は次のようになります。
Johnson; Michael 2
Mohan; Anaha 1
Michael; Jordon 1
Maru; Tushar 1
Surendir;Mishra 1
Mohan; Ram 1
ご覧のとおり、各名前の数を で区切って出力していますが、ねじれがあります。名前にミドルネームの最初のイニシャルが含まれる場合と含まれない場合があるため、フルネームでグループバイを単純に実行することはできません。例えば。Johnson; Michael
単一の名前としてカウントさJohnson; Michael R.
れるため、それらのカウントは 2 です。さらに、カウント2 で結果セットに表示されるJohnson; Michael
かJohnson; Michael R.
、表示される必要があります (両方ではありません。これはレコードが繰り返されるためです)。
テーブルには で区切られた名前が含まれています。これは LIVE であり、他の誰かから提供されたものであるため、非正規化することはできません。
カーソルを使用せずにこれに対するクエリを作成する方法はありますか? DB には約 300 万件のレコードがあり、ページネーションなどもサポートする必要があります。これを達成するための最良の方法は何だと思いますか?