За последние 24 часа нас посетили 17807 программистов и 1283 робота. Сейчас ищет 1431 программист ...

COUNT в GROUP BY

Тема в разделе "PHP и базы данных", создана пользователем sumsum, 1 дек 2014.

  1. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    Нужно найти количество группировок, пробую сделать
    Код (Text):
    1. SELECT COUNT(*) FROM table GROUP BY nazv
    Но в ответ получаю количество сгруппированных строк в каждой группе, а нужно узнать количество самих группировок
    Пробовал еще так сделать:
    Код (Text):
    1. SELECT COUNT(GB) FROM table GROUP BY nazv AS GB
    но в ответ получаю ошибку
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    *num_rows()?
     
  3. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    точно. спасибо

    Добавлено спустя 1 минуту 10 секунд:
    А для экономии памяти что лучше
    Код (Text):
    1. SELECT COUNT(*) FROM table GROUP BY nazv
    или
    Код (Text):
    1. SELECT COUNT(nazv) FROM table GROUP BY nazv
    или же без разницы?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а что референс мануал по субд говорит на этот счет? какая разница между каунтом по астериску и каунтом по филднейму?
     
  5. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Ещё есть EXPLAIN тоже помогает узнать как запрос отрабатывает
     
  6. sumsum

    sumsum Новичок

    С нами с:
    13 май 2014
    Сообщения:
    96
    Симпатии:
    0
    А через MySQL запросом можно узнать количество сгруппированных строк? Или только через php через mysql_num_rows ?

    Добавлено спустя 14 минут 35 секунд:
    Нашел
    Код (Text):
    1. SELECT COUNT(DISTINCT nazv) FROM table GROUP BY nazv