Как считать и ограничить запись в едином запросе в MySQL?

Ваша проблема в том, что с помощью id = random.choice(open('ID.log').readlines())[32:] вы получаете строку файла, включая символы новой строки в конце.

Возможное исправление: метод str.rstrip(), который удаляет завершающие пробелы:

id = random.choice(open('ID.log').readlines())[32:].rstrip()

17
задан Prashant 29 April 2009 в 13:50
поделиться

2 ответа

SELECT SQL_CALC_FOUND_ROWS
  Id, Name
FROM my_table
WHERE
  Name LIKE '%prashant%'
LIMIT 0, 10;

# Find total rows
SELECT FOUND_ROWS();

подробнее

18
ответ дан 30 November 2019 в 11:52
поделиться

MySQL поддерживает это, используя SQL_CALC_FOUND_ROWS , как упомянуто Ionut. Однако оказывается, что во многих случаях на самом деле быстрее сделать это старомодным способом, используя два оператора, где одно из них является обычным count () . Это, однако, требует, чтобы подсчет можно было выполнить с помощью сканирования индекса, что не будет иметь место для этого самого запроса, но я решил упомянуть об этом в любом случае.

10
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

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