概要
BubbleでDo a search forを使って検索した結果から重複を排除するには、「:grouped by」を使用します。
事例
例えば、貸し会議室の予約システムを想定します。
「本日利用可能な会議室を表示したい」という場合を考えてみましょう。
以下のように、会議室テーブルと、空き情報テーブルがあるとします。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-1-1024x586.png)
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-2-1024x621.png)
通常のDo a search forの場合
この場合、ただDo a search forを使うと、渋谷の空き時間が2つあるため、検索結果に渋谷が2回表示されてしまします。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-3-1024x509.png)
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-4.png)
「:grouped by」を使った場合
こんな場合には、「:grouped by」を使って、重複を排除します。
Do a search for の後ろをクリックして「:grouped by」を選択します。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-5-1024x609.png)
「Add a new grouping」をクリックします。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-6-1024x820.png)
グループ化(重複排除)したい項目を選択します。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-7-1024x811.png)
すると、以下のように「:group by」という条件が追加されます。
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-8-650x1024.png)
これで、会議室名が重複せずに表示されるようになりました!
![](https://blog.jansnap.com/wp-content/uploads/2022/03/group_by-9.png)
一般のRDBMSのSQL文にもGROUP BYがある
一般のRDBMS(Oracle, MySQL, PostgreSQLなど)にも、「GROUP BY」というキーワードで、重複を排除するSQL文があります。