1

次のヒストグラムを生成するクエリを作成しようとしています。

タグの数に制限のない動物エンティティを想定します。

dog.features = [blue, big, fury, nice]
cat.features = [white, big, fury, ugly]
bear.features = [white, big, fury, ugly]
other_bear.features = [white, big, fury, ugly]

cat などの類似した機能の数のヒストグラムを生成したいとします。

まず、猫とのすべてのカップルについて、同様の機能の数が必要です

 similar_features(cat, dog) = 2
 similar_features(cat, bear) = 4
 similar_features(cat, other_bear) = 4

次に、同様の機能のヒストグラムは次のようになります。

|0| = 0
|1| = 0
|2| = 1
|3| = 0
|4| = 2

JPQLでこれを達成したいと思います-私は次のように始めました:

 SELECT COUNT(DISTINCT feature1) cnt, COUNT(COUNT(DISTINCT feature1)) 
 FROM Animal a1, Animal a2 
 JOIN a1.features feature1 JOIN a2.features feature2 
 WHERE feature1 = feature2 AND i2.id = ?1 
 GROUP BY a1, cnt

これは明らかに間違っていますが、私が達成しようとしていることを示しています。これはJPQLでも可能ですか?

4

0 に答える 0