PostgreSQL에서 하위 쿼리의 WHERE 절에 별칭 사용

사용자 3782471

postgresql에는 namemeta_data이있는 사용자 테이블이 있습니다. Meta_data열은 jsonb이며 다음과 같은 데이터를 저장합니다.

"{"likes": [{"id": "1", "name": "aaa"}, {"id": "2", "name": "bbb"}, {"id": "3", "name": "ccc"}]}"

각각의 좋아요에 대해 같은 좋아요를 가진 사용자 수를 선택하고 싶습니다.

SELECT jsonb_array_elements(users.meta_data->'likes')->>'id' AS like_id,
(SELECT count(*) FROM users WHERE users.meta_data->'likes'->>'id' = like_id ) AS count_users
FROM users

또한 이있는 clickouts테이블이 user_id있습니다. 특정 like_id를 가진 사용자가 클릭 한 횟수가 필요합니다.

COUNT(clickouts.id) FILTER ( 
    WHERE clickouts.user_id IN 
    (SELECT user_id FROM users WHERE users.meta_data->'likes'->>'id' = like_id)
)

이러한 쿼리는 작동하지 않습니다. 오류 메시지는 다음과 같습니다.

"like_id"열이 없습니다.

이를 달성하는 방법에 대한 제안이 있습니까?

사가

그런 다음 다음과 같은 위치에서 동일한 논리를 사용합니다.

SELECT jsonb_array_elements(users.meta_data->'likes')->>'id' AS like_id,
(SELECT count(*) FROM users WHERE users.meta_data->'likes'->>'id' = jsonb_array_elements(users.meta_data->'likes')->>'id' ) AS count_users
FROM users

그러나 각 like_id에 대해 행이 1 개 이상이면 중복 항목이 많으므로 group by를 사용해야합니다.

SELECT jsonb_array_elements(users.meta_data->'likes')->>'id' AS like_id,
count(jsonb_array_elements(users.meta_data->'likes')->>'id') AS count_users
FROM users
GROUP BY jsonb_array_elements(users.meta_data->'likes')->>'id'

편집하다:

내부 쿼리에서 별칭을 사용하려면 다음과 같이 시도하십시오.

SELECT t.like_id,
       (SELECT count(*) FROM users WHERE users.meta_data->'likes'->>'id' = t.like_id ) AS count_users FROM (
SELECT jsonb_array_elements(users.meta_data->'likes')->>'id' AS like_id,
FROM users) t

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SELECT의 WHERE 절에 COALESCE에서 별칭을 사용하여

분류에서Dev

where 절에서 별칭 "case when"사용

분류에서Dev

리드 지연 함수를 사용하여 mysql의 where 절에서 별칭을 사용하는 방법

분류에서Dev

WHERE 절에서 별칭을 사용하는 MYSQL

분류에서Dev

mySQL의 WHERE 절 내에서 if / else 결과 별칭 사용

분류에서Dev

Neo4jclient 쿼리의 where 절에서 with-clause에 정의 된 별칭 사용

분류에서Dev

별칭을 사용하여 where 절 쿼리 mysql

분류에서Dev

하위 쿼리에서 SQL Server 재사용 별칭

분류에서Dev

경우에 하위 쿼리 별칭 사용

분류에서Dev

기본 WHERE 절에서 참조 할 수있는 하위 쿼리에 대한 별칭 추가

분류에서Dev

where 절의 모든 하위 쿼리를 사용하여 SQL Server에서 계산

분류에서Dev

'WHERE'절의 'FROM'에 선언 된 테이블 별칭을 사용하는 방법은 무엇입니까?

분류에서Dev

동적 where 절에서 하위 쿼리 사용

분류에서Dev

postgreSQL 쿼리의 where 절에서 텍스트 파일 사용

분류에서Dev

하위 쿼리의 별칭 사용

분류에서Dev

Where 절에서 별칭 이름 사용-SQL

분류에서Dev

PHP를 사용하여 MYSQL UPDATE 쿼리에서 두 개의 where 절 사용

분류에서Dev

SQL-WHERE에서 SELECT 별칭 사용

분류에서Dev

쿼리에서 사용할 SQL 서버의 별칭 만들기

분류에서Dev

순위를 지정할 별칭은 where 절에서 사용할 수 없습니다.

분류에서Dev

where caluse에서 외부 쿼리의 값을 사용하는 하위 쿼리

분류에서Dev

where caluse에서 외부 쿼리의 값을 사용하는 하위 쿼리

분류에서Dev

쿼리 내에서 별칭 이름을 사용하는 쿼리 작성기

분류에서Dev

표준 SQL의 WHERE 절에서 옵션 목록으로 WITH 하위 쿼리를 사용하는 방법

분류에서Dev

하위 쿼리에서도 전체 쿼리의 where 절을 적용하는 방법은 무엇입니까?

분류에서Dev

SQL 하위 쿼리-하위 쿼리의 'WHERE'절에서 외부 값 참조

분류에서Dev

데이터에서 where 절을 사용하는 방법 쿼리의 when 절에서 반환

분류에서Dev

select 절에서 같음을 사용하여 열 별칭 설정

분류에서Dev

POSTGRESQL, 하위 쿼리 없음 : FROM의 하위 쿼리에는 별칭이 있어야합니다.

Related 관련 기사

  1. 1

    SELECT의 WHERE 절에 COALESCE에서 별칭을 사용하여

  2. 2

    where 절에서 별칭 "case when"사용

  3. 3

    리드 지연 함수를 사용하여 mysql의 where 절에서 별칭을 사용하는 방법

  4. 4

    WHERE 절에서 별칭을 사용하는 MYSQL

  5. 5

    mySQL의 WHERE 절 내에서 if / else 결과 별칭 사용

  6. 6

    Neo4jclient 쿼리의 where 절에서 with-clause에 정의 된 별칭 사용

  7. 7

    별칭을 사용하여 where 절 쿼리 mysql

  8. 8

    하위 쿼리에서 SQL Server 재사용 별칭

  9. 9

    경우에 하위 쿼리 별칭 사용

  10. 10

    기본 WHERE 절에서 참조 할 수있는 하위 쿼리에 대한 별칭 추가

  11. 11

    where 절의 모든 하위 쿼리를 사용하여 SQL Server에서 계산

  12. 12

    'WHERE'절의 'FROM'에 선언 된 테이블 별칭을 사용하는 방법은 무엇입니까?

  13. 13

    동적 where 절에서 하위 쿼리 사용

  14. 14

    postgreSQL 쿼리의 where 절에서 텍스트 파일 사용

  15. 15

    하위 쿼리의 별칭 사용

  16. 16

    Where 절에서 별칭 이름 사용-SQL

  17. 17

    PHP를 사용하여 MYSQL UPDATE 쿼리에서 두 개의 where 절 사용

  18. 18

    SQL-WHERE에서 SELECT 별칭 사용

  19. 19

    쿼리에서 사용할 SQL 서버의 별칭 만들기

  20. 20

    순위를 지정할 별칭은 where 절에서 사용할 수 없습니다.

  21. 21

    where caluse에서 외부 쿼리의 값을 사용하는 하위 쿼리

  22. 22

    where caluse에서 외부 쿼리의 값을 사용하는 하위 쿼리

  23. 23

    쿼리 내에서 별칭 이름을 사용하는 쿼리 작성기

  24. 24

    표준 SQL의 WHERE 절에서 옵션 목록으로 WITH 하위 쿼리를 사용하는 방법

  25. 25

    하위 쿼리에서도 전체 쿼리의 where 절을 적용하는 방법은 무엇입니까?

  26. 26

    SQL 하위 쿼리-하위 쿼리의 'WHERE'절에서 외부 값 참조

  27. 27

    데이터에서 where 절을 사용하는 방법 쿼리의 when 절에서 반환

  28. 28

    select 절에서 같음을 사용하여 열 별칭 설정

  29. 29

    POSTGRESQL, 하위 쿼리 없음 : FROM의 하위 쿼리에는 별칭이 있어야합니다.

뜨겁다태그

보관