Я хотел бы получить неповторяющиеся строки для локаций и получить общее количество игроков в определенных кланах и общее количество звездных игроков.Пожалуйста, см. Ниже для более подробного объяснения
table p:
player_id stars
1 10
2 10
3 10
4 10
table a:
player_id location clan
1 egate dragons
2 ngate sabrelights
3 sgate dragons
4 wgate tigers
5 lgate fireflies
6 lgate fireflies
7 egate dragons
Вот что я попробовал
SELECT DISTINCT (CASE SUBSTR (location, 1, 1)
WHEN 'e' THEN 'East'
WHEN 'n' THEN 'North'
WHEN 's' THEN 'South'
WHEN 'w' THEN 'West'
WHEN 'l' THEN 'Limbo'
ELSE null
END) loc
,clan clans
, sum (case when a.player_id IS NOT NULL THEN 1 ELSE 0 END) Total
,sum (case when p.stars = '10' THEN 1 ELSE 0 END) stars
FROM a
left outer join p on p.PLAYER_ID = a.player_id
group by SUBSTR (location, 1, 1),a.clan, p.STARS
,clan
order by loc, clans
фактические результаты (неверно):
LOC CLANS TOTAL STARS
East dragons 1 0
East dragons 1 1
South dragons 1 1
Limbo fireflies 2 0
North sabrelights 1 1
West tigers 1 1
что я хочу (желаемый вывод):
LOC CLANS TOTAL STARS
East dragons 2 1
South dragons 1 1
Limbo fireflies 2 0
North sabrelights 1 1
West tigers 1 1