Похожие чаты

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 ответов

20 просмотров

ну вот выше был пример с 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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта