0
하위 쿼리에서 group by를 사용하여 쿼리를 작성하려고하는데 많은 블로그를 참조했지만 모든 값을 얻을 수는 없습니다.두 열로 그룹화
나는 세 개의 테이블을 가지고 있으며, 아래 테이블의 구조가 있습니다.
Pet_Seller_Master
ps_id ps_name city_id
2 abc 1
3 xyz 2
4 fer 4
5 bbb 1
City_Master
city_id city_name
1 Bangalore
2 COIMBATORE
4 MYSORE
Api_Entry
api_id ps_id otp
1 2 yes
2 3
3 2 yes
4 3 yes
5 4
6 5 yes
7 5 yes
8 5 yes
쿼리 판매자의 수를 얻을 수 있습니다 제로 OTP, 애완 동물 판매없이 1과와 애완 동물 판매없이 otp, 2 otp의 애완 동물 판매자는 없으며, 특정 도시의 otp가 2보다 큰 애완 동물 판매자는 없습니다. 날짜 범위 내.
나는 도시, PSP를 얻을 수 있어요 다음은 질의를 통해, 제로 OTP
select cm.city_name,
count(ps.ps_id) as PSP,
((select count(ps1.ps_id)
FROM ps_master ps1
WHERE ps1.city = cm.city_id)-
(SELECT count(distinct ps1.ps_id)
from ps_master ps1
INNER JOIN api_entry ae ON ps1.ps_id = ae.ps_id and otp!=''
WHERE ps1.city = cm.city_id and date(timestamp) >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY AND date(timestamp) < curdate())) as zero_psp
from ps_master ps INNER JOIN city_master cm ON ps.city = cm.city_id and cm.city_type = 'IN HOUSE PNS'
group by city_id
나에게이 쿼리를 해결하는 솔루션을 알려주세요. 미리 감사드립니다.
제발 좀 도와주세요. 감사 – Akshobhya