如何从一张桌子获取图片和封面图片的数量?

时间:2018-10-25 12:06:47

标签: sql apache phoenix

我正在使用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 :(得分:1)

您可以尝试使用加入

    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