За последние 24 часа нас посетили 49617 программистов и 1724 робота. Сейчас ищут 658 программистов ...

вывод по оценке

Тема в разделе "PHP для новичков", создана пользователем hust0, 22 авг 2017.

  1. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Здравствуйте, можно ли вывести данные подсчитав количество?

    Т.е. имеем таблицу

    [​IMG]

    у нас имеются одинаковые ID 228 (3 шт.), надо сложить оценки 3+1+1 (другие так же) и вывести записи. Выводим в начале у кого больше число (сложенная), т.е. по убыванию. Возможно ли такое?
    --- Добавлено ---
    получается надо как то вывести 228 ид т.к. у него 5, а потом 1 ид, т.к. у него 1
     
  2. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Ну в такой постановке задачи это врят-ли возможно. Если ошибаюсь, то пусть местные гуру поправят. Но я вижу два варианта:
    1) прочитать всю таблицу, и уже в коде ее обработать
    2) сразу же формировать таблицу таким образом, чтобы вытаскивать из нее нужные данные без этого гемора. Например, вы можете параллельно вести вторую таблицу, в которую будете суммировать данные при совпадении по cart_id. Затем останется только забрать сортированную таблицу по полю ocenka. Возможно, этот же подход можно сохранить ограничившись и одной таблицей вместо двух.
    Лично я бы выбрал второе.
     
  3. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    о втором тоже подумал, думал есть более короткий путь)
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    SELECT cart_id, SUM(ocenka) AS ocenka
    FROM tablename
    GROUP BY cart_id
    ORDER BY 1 DESC