Похожие чаты

Q = select(PollData.user_tg_id)\

.distinct()\
.where(
(minimal_datetime <= PollData.answer_time) & (PollData.answer_time <= datetime.datetime.now())
)
result = len((await s.exec(q)).all())

сделал вот так, осталась проблемка в том что не могу нормально посчитать количество полученных строк запросом sql. Подсчет через len() конечно работает, но получать ради этого все записи так себе удовольствие

Как можно нормально подсчитать если func.count() не могу сюда никак впихнуть?

15 ответов

17 просмотров

ну вот выше был пример с count()

kindaway- Автор вопроса
Yurii M
ну вот выше был пример с count()

я кажется не понимаю как работает distinct, но этот запрос выдает мне 3 вместо 2 (я хочу получить кол-во уникальных значений user_tg_id с данным where условием), но в итоге мне выдает просто количество записей, что я не так делаю? спасибо за помощь!)

kindaway
screenshot я кажется не понимаю как работает distinct, но это...

он буквально посчитал числа (одно число) и убрал дубли

kindaway- Автор вопроса
Tishka17
он буквально посчитал числа (одно число) и убрал д...

я все еще не понимаю, откуда 3 взялось. Если из запроса убрать func.count() и вместо него просто поставить PollData.user_tg_id то запрос выдаст как раз два айди, которые подходят под запрос. Но func.count() как будто что-то не то считает

kindaway- Автор вопроса
kindaway
почему он посчитал одно число?

а сколько чисел он должен посчитать? у тебя группировки нет

kindaway- Автор вопроса
Tishka17
хм. точно два или 2 с дисктинктом?

запрос с дистинктом возвращает 2 значения, запрос func.count() с дистинктом возвращает 3. Как будто бы дистинкт применяется не к user_tg_id, а к полю по которому идёт отбор в where

kindaway
запрос с дистинктом возвращает 2 значения, запрос ...

Так у тебя дистинкт применяется к результату каунта сейчас

kindaway- Автор вопроса
Tishka17
Так у тебя дистинкт применяется к результату каунт...

блин, а как правильно то тогда? прикол в том что питоновский len() отрабатывает значительно быстрее чем func.count()

kindaway- Автор вопроса
Владимир
Вряд ли)))

ну пока у меня там два значения в бд, это так. на около 0.005 s быстрее было вроде)

kindaway- Автор вопроса
Tishka17
я бы скопировал и поправил, но увы

вот то что было тогда, я сейчас пытаюсь перестроить но алхимия меня каждый раз обламывает) https://gist.github.com/kindaway/b7471dfb6d12e78071787522f2369b48

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

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
VIP-392 [zkSync] New native USDC market in the Core pool Summary If passed, following the Community proposal “Support native USDC on Venus Core Pool of ZKSync Era” and the a...
Venus Announcements
1
is that okay?
Samurai 🇯🇵
21
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Guys, Donald Trump or Kamala Harris? It does not matter for Bitcoin in the long run!! 2020 Election: After Joe Biden's victory in November 2020, Bitcoin steadily rose from...
Sabah Shabu
3
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Карта сайта