SQLite - получение количества строк в базе данных

Вам просто нужно рассчитывать на элемент, который вы хотите проверить внутри - например,

heading = page.find('li#campaign_1 .media-heading.name')
expect(heading).to have_content('Campaign_1')

Другой вариант (более полезный, когда у вас есть несколько вещей для проверки) - это метод within, который охватывает на что ссылается page

within 'li#campaign_1 .media-heading.name' do
  # here page will refer to the .name element
  expect(page).to have_content('Campaign_1')
end

Наконец, вы можете просто сделать все это в одном ожидании, используя опции text или exact_text

expect(page).to have_css('li#campaign_1 .media-heading.name', text: 'Campaign_1')

Объединение нескольких из этих методов вместе дадут

within 'li#campaign_1' do
  expect(page).to have_css('.media-heading.name', text: 'Campaign_1'
  expect(page).to have_css('.media-heading.country', text: 'United Kingdom')
end
45
задан mattbasta 16 April 2011 в 20:28
поделиться

3 ответа

Если Вы захотите использовать МАКСА (идентификатор) вместо количества после чтения комментариев от Мира тогда, то следующий SQL даст Вам, что Вы хотите

SELECT COALESCE(MAX(id)+1, 0) FROM words
12
ответ дан Steve Weet 26 November 2019 в 20:44
поделиться

Можно запросить фактическое количество строк с

SELECT Count(*) FROM tblName
, см. https://www.w3schools.com/sql/sql_count_avg_sum.asp
237
ответ дан 2 revs, 2 users 67% 26 November 2019 в 20:44
поделиться

В SQL ПУСТОЙ УКАЗАТЕЛЬ = ПУСТОЙ УКАЗАТЕЛЬ является ложью, обычно необходимо использовать, ЯВЛЯЕТСЯ ПУСТЫМ:

SELECT CASE WHEN MAX(id) IS NULL THEN 0 ELSE (MAX(id) + 1) END FROM words

, Но, если Вы хотите количество строк, необходимо просто использовать count(id), так как решение даст 10, если строки будут (0,1,3,5,9), где оно должно дать 5.

, Если можно гарантировать, Вы всегда будете идентификаторы от 0 до N, макс. (идентификатор) +1 май быть быстрее в зависимости от индексной реализации (это может быть быстрее для пересечения правой стороны сбалансированного дерева вместо того, чтобы пересечь целое дерево, рассчитав.

, Но это является очень определенным для реализации, и я отговорил бы от доверия ему, не в последнюю очередь потому что это блокирует Вашу производительность к определенному DBMS.

9
ответ дан paxdiablo 26 November 2019 в 20:44
поделиться
Другие вопросы по тегам:

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