у меня есть стол
#standardSQL
with table as (
select 'DE' country, 520 number union all
select 'de' country, 480 number union all
select ' DE' country, 500 number union all
select ' DE ' country, 500 number
)
select replace(UPPER(country), ' ', '') as country_shop, number from table
GROUP BY country, number
мой текущий результат выглядит так
row country_shop number
1 DE 520
2 DE 480
3 DE 600
4 DE 400
Я пытаюсь получить результат как
row country_shop number
1 DE 2000
Может ли кто-нибудь помочь мне здесь? Благодарю вас!
Вы пытаетесь выполнить группировку по столбцу Country_shop И количество, но, как мы видим, это не тот результат, который вам нужен. Вам нужны только group by
Country_shop и sum
все номера, связанные с этой страной.
Отлично, у вас уже есть функции для удаления всех начальных и конечных пробелов, называемые trim
, и еще одна функция, называемая sum
, затем вы можете построить такой запрос:
select
upper(trim(country)) as country_shop,
sum(number) as total_number
from table
group by country_shop
Пожалуйста, прочитайте следующая документация со всеми функциями, уже предоставленными bigquery, чтобы найти те, которые соответствуют вашим потребностям.
Вместо этого используйте ниже
#standardSQL
with table as (
select 'DE' country, 520 number union all
select 'de' country, 480 number union all
select ' DE' country, 500 number union all
select ' DE ' country, 500 number
)
select replace(UPPER(country), ' ', '') as country_shop, sum(number) number from table
GROUP BY country_shop
с выходом