TGViewer
Мир аналитика данных Мир аналитика данных @analysts_world · 4.56K subscribers
Post #176 2.76K
💡 Как избежать ошибок при SQL-запросах, если в списке только одно значение?

Иногда при выполнении SQL-запросов с оператором IN может возникнуть ошибка, если список содержит только одно значение. Столкнулась с этим на работе, и решила проблему хитрым способом: добавляю фиктивное значение в список.

Это позволяет SQL-запросу работать корректно в любом случае!
from pandasql import sqldf
import pandas as pd

# Список user_id
users_lst = [987654321]

# Проверка длины списка
if len(users_lst) == 1:
# Добавляем фиктивное значение
users_lst.append(123456789)

# Преобразование списка в кортеж
users_lst = tuple(users_lst)

# Пример базы данных с двумя колонками: user_id и amount
data = {
'user_id': [987654321, 154589364, 234567890, 345678901, 456789012],
'amount': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)

# SQL-запрос
query = f"""
SELECT user_id, amount
FROM df
WHERE user_id IN {users_lst}
"""

# Вывод результата
sqldf(query)


📊 В этом примере, даже если список users_lst содержит одно значение, мы добавляем фиктивный user_id, чтобы запрос был корректным. Используем библиотеку pandasql для выполнения SQL-запроса на DataFrame.
  • ❤ 18
  • 👍 2
More from @analysts_world
  1. Sep 21, 2026📊 Задачка с собеседования Ну что, по итогам голосования большинство хотят задачки и sql.…
  2. Sep 14, 2026Post #345
  3. Sep 14, 2026Что-то я тут прям зачастила с A/B тестами 😅 Смотрю на последние посты и такое чувство, чт…
  4. Sep 1, 2026🎒 С 1 сентября, друзья! Сегодня как раз отправила своих детей в школу – и вот это чувство…
  5. Aug 24, 2026Вне выборки Обычно здесь про SQL, Python и AB-тесты. Но не всё, что важно, попадает в выбо…
  6. Aug 20, 2026Fuckup Night от создателей Trisigma, Ares и karpov.courses Согласитесь, ивенты, где все де…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →