Таблица событий запросов BigQuery

Цель : чтобы подсчитать количество пользователей, у которых event_name= 'Wallet'

Проблема : я ограничил результат запроса до 100 для проверки, поэтому ожидаемый результат должен быть 100, но когда я использую count(params.value.string_value), он показывает 124 .

Код : SELECT count(params.value.string_value) FROM "myproj.analytics_197163127.events_20190528",UNNEST(event_params) as params where event_name ='Wallet' and params.key = 'UserId' limit 100

ожидаемый результат : если запрос возвращает 100 записей, количество должно быть 100, но как оно показывает 124?

Надеюсь вопрос понятен

Что вы пробовали? Предоставьте образцы данных и ожидаемый результат в виде форматированного текста, а не изображений. Дополнительная информация здесь

JohnHC 30.05.2019 10:33

Да, конечно, когда я запускаю запрос, он показывает 100 записей, но когда я вижу, что счетчик показывает 120, запрос к нам SELECT event_date,event_timestamp,event_name, params.value.string_value FROM myproj.analytics_197163127.events_20190528, UNNEST(event_params) as params where event_name ='Wallet' and params.key = 'UserId' limit 100

SaiSivaSubramanian L 30.05.2019 12:25

Пожалуйста, отредактируйте свой вопрос с помощью сделанных запросов. Будущим разработчикам будет полезнее, спасибо :)

Pol Ortiz 30.05.2019 12:42

@SaiSivaSubramanianL Я редактировать на ваш вопрос. Если это не так, используйте ссылку редактирования для обновления. Что касается вашего вопроса, я вижу, что у вас есть limit 100 в вашем SQL. Я что-то упустил?

Tamir Klein 30.05.2019 12:49

@PolOrtiz@TamirKlein Я отредактировал вопрос, пожалуйста, проверьте его еще раз Спасибо.

SaiSivaSubramanian L 30.05.2019 13:12

@SaiSivaSubramanianL мне нужна ваша помощь в отношении firebase, как я могу с вами связаться?

KARTHIKEYAN.A 31.12.2019 08:15
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
6
516
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Запрос показывает 100 записей из-за ограничения 100 в конце:

SELECT event_date,event_timestamp,event_name, params.value.string_value 
FROM myproj.analytics_197163127.events_20190528, UNNEST(event_params) as params 
where event_name ='Wallet' and params.key = 'UserId' 
limit 100

Удалите это и проверьте снова.

LIMIT 100 указывает количество строк, которые должны быть возвращены из оператора SQL. Это не влияет на COUNT() в вашем запросе. Итак, есть разница между:

select count(*) from table limit 100 

это вернет одно значение с количеством строк в таблице. С другой стороны :

select count(*) from (select * from table limit 100) 

Это вернет 100 (если в таблице более 100 строк, иначе будет возвращено количество строк в таблице)

Привет, спасибо, думаю, я задал вопрос по-другому, я снова отредактировал его, пожалуйста, проверьте сейчас.

SaiSivaSubramanian L 30.05.2019 13:11
Ответ принят как подходящий

limit применяется к набору результатов, созданному запросом.

Ваш запрос является запросом агрегации без group by. Такая агрегация всегда возвращает одну строку. Таким образом, limit не влияет на результаты.

Если вы хотите увидеть 100 для набора результатов, используйте CTE или подзапрос:

SELECT count(params.value.string_value)
FROM (SELECT params
      FROM "myproj.analytics_197163127.events_20190528" e CROSS JOIN
           UNNEST(e.event_params) params 
      WHERE e.event_name ='Wallet' AND params.key = 'UserId' 
      LIMIT 100
     ) ep

Другие вопросы по теме

Похожие вопросы

Как вставить массив объектов JSON в PostgreSQL как отдельные элементы
Проверьте, имеет ли строка определенное окончание, сотрите это окончание, затем запишите эти строки в соответствии с двумя другими условиями
Учитывая увеличивающиеся значения идентификатора и созданную дату, создайте оператор SQL, чтобы определить, не совпадают ли какие-либо даты с идентификатором в оракуле
Различные строки для результатов при использовании оператора case SQL для одного и того же значения
Выбрать данные, где условие соответствует, и если нет, то выбрать все?
Ошибка оператора Group BY для получения уникальных записей
Измените последовательность с помощью SQL Query
Сколько максимальное количество подзапросов можно поместить в один запрос куста?
Только когда все статусы совпадают с возвращаемым результатом
SQL вставить дополнительное поле в отдельный фильтр