Как получить количество фотографий и обложек с одного стола? - PullRequest
0 голосов
/ 25 октября 2018

Я использую Apache Phoenix.У меня есть настольные картинки, которые выглядят так:

|---------------|------------------|-----------|----------|--------|
|      id       |     picture      |  is_cover | userID   | album  |
|---------------|------------------|-----------|----------|--------|
|          1    |        aaa       |  true     |   1      |  test  |
|---------------|------------------|-----------|----------|--------|
|          2    |        bbb       |  false    |   1      |  test  |
|---------------|------------------|-----------|----------|--------|
|          3    |        ccc       |  false    |   1      |  test1 |
|---------------|------------------|-----------|----------|--------|
|          4    |        ddd       |  true     |   1      |  test1 |
|---------------|------------------|-----------|----------|--------|

Я хочу получить названия альбомов, количество фотографий в альбоме и обложки альбомов от конкретного пользователя.Вывод должен выглядеть так:

|---------------|------------------|-----------|
|     picture   |        album     |  count    |
|---------------|------------------|-----------|
|     aaa       |        test      |  2        |
|---------------|------------------|-----------|
|     ddd       |        test1     |  2        |
|---------------|------------------|-----------|

1 Ответ

0 голосов
/ 25 октября 2018

вы можете попробовать, используя join

    select t1.picture,t1.album,t2.cnt from
     (
     select *  from pictures where is_cover=true
     ) t1        
    join        
      (  select album, count(*) as cnt from pictures
         group by album
      ) t2 on t1.album=t2.album
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...