За последние 24 часа нас посетил 22861 программист и 1712 роботов. Сейчас ищут 1702 программиста ...

Как подсчитать количество в запросе?

Тема в разделе "MySQL", создана пользователем lamok, 10 мар 2017.

  1. lamok

    lamok Активный пользователь

    С нами с:
    16 июн 2008
    Сообщения:
    64
    Симпатии:
    1
    Здравствуйте.
    Ника не могу понять как мне узнать количество записей в таблице?
    Есть запрос к двум таблицам articles и partitions, который возвращает несколько записей:
    'select * from articles LEFT JOIN partitions '
    . 'USING(id_partition) ORDER BY articles.id DESC');
    Что нужно добавить чтобы вывести количество записей в таблице articles?
    'select count(*) from articles LEFT ...' не помогает

    Спасибо.
     
    #1 lamok, 10 мар 2017
    Последнее редактирование: 10 мар 2017
  2. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @lamok select max(id) если существует ид
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    COUNT должен работать. Ты, походу, делаешь что-то не так, или что-то не договариваешь.
    --- Добавлено ---
    Просто
    Код (Text):
    1. select count(*) from articles
    Работает?
    А где условие для LEFT JOIN, по которому должен идти поиск пересечения?
     
  4. lamok

    lamok Активный пользователь

    С нами с:
    16 июн 2008
    Сообщения:
    64
    Симпатии:
    1
    Просто select count(*) from articles работает.

    Вот же запрос:
    'select * from articles LEFT JOIN partitions USING(id_partition) ORDER BY articles.id DESC'
    В этот запрос нужно добавить count(*) as col from articles!

    Как это сделать не знаю, не получается, можете подсказать?
     
  5. retvizan

    retvizan Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    68
    Симпатии:
    22
    первый запрос возвращает набор строк
    количество записей в таблице articles это число
    как вы представляете итоговый результат?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Что там представлять? select *,count(*) from table возвращает одну строку, первую из выборки, с добавленным столбцом, в котором прописан count. Если добавить группировку по опеределенному полю, количество строк будет такое, какое сформирует группировка.
     
  7. retvizan

    retvizan Активный пользователь

    С нами с:
    27 дек 2013
    Сообщения:
    68
    Симпатии:
    22
    Ещё возможен вариант добавления числа к каждой строке исходного запроса.
    Вопрос в том как ТС представляет желаемый результат?
    Кроме того, нельзя исключать возможность столь высокого полета фантазии, что мне до такого уровня абстракций ... так что лучше уточнить постановку задачи :)
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Вангую, что ТСу нужно два запроса раздельных. И что такое решение будет в разы производительнее и проще, чем хитровыбоенные костыли для того, что он хочет сейчас.
     
  9. lamok

    lamok Активный пользователь

    С нами с:
    16 июн 2008
    Сообщения:
    64
    Симпатии:
    1
    Мне хотелось получить в 1 запросе и данные и количество записей всех статей в первой таблице.
    Количество всех записей прикрутить к каждому варианту данных.
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА