За последние 24 часа нас посетили 15272 программиста и 1671 робот. Сейчас ищут 859 программистов ...

Помогите с запросом

Тема в разделе "MySQL", создана пользователем inline, 29 окт 2012.

  1. inline

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

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    Есть таблица
    cat market
    1 1
    1 2
    2 3
    3 1
    3 2
    3 1
    3 5

    нужно выбрать сколько уникальных market есть для каждого cat
    результат
    cat count(market)
    1 2
    2 1
    3 3
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    SELECT cat, COUNT(DISTINCT market) cnt_market
    FROM tablename
    GROUP BY cat
     
  3. inline

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

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    пробовал так
    не то
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    o_O
    как это не то?
    только что специально сделал аналогичный набор данных и проверил запрос. возвращает все как вы и хотели.
    какая версия mysql?
     
  5. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    если не нравится distinct, то можно так еще
    Код (PHP):
    1. select cat,count(market) FROM (
    2.   SELECT T.CAT, t.market FROM T 
    3.   GROUP BY T.CAT, T.MARKET 
    4. ) GROUP BY CAT
    5. order by cat