Как получить уникальные данные в SQL-запросе?

#mysql #sql

#mysql #sql

Вопрос:

Я добавил мой SQL-запрос в функцию WordPress. теперь я хочу получить уникальные данные из sql с наибольшим количеством «баллов».

Пример: Это моя таблица SQL

Я хочу 2 результата из этой таблицы в PHP.

      Quiz_name             Quiz_id        Correct_score   User_ID

     KENNISMAKING          1              0               1
     KENNISMAKING          1              33              1
     KENNISMAKING          1              100             1
     KENNISMAKING          1              33              1
     KENNISMAKING          1              100             1
     KENNISMAKING          1              66              1
     ACTIEF VERKOPEN       7              33              1
     KENNISMAKING          1              12              1
     ASSORTIMENT-FRIS      15             50              1
     ASSORTIMENT-FRIS      15             50              1
     ASSORTIMENT-FRIS      15             25              1
     ASSORTIMENT-FRIS      15             25              1
     ASSORTIMENT-PSV       13             50              1
     ASSORTIMENT-FRIS      15             50              1
     ASSORTIMENT-PSV       13             100             1
     ACTIEF VERKOPEN       7              100             1
     ACTIEF VERKOPEN       7              100             1
     PERSONEELSZAKEN       6              33              1
     ASSORTIMENT-FRIS      15             75              1
  
  1. Общее количество уникальных тестов, проведенных пользователем 1. (Например, если «KENNISMAKING» появляется 7 раз, поэтому считайте это только 1).

Результат: пользователь 1 посещает всего тест «5» (KENNISMAKING, ACTIEF VERKOPEN, СОРТИРОВКА-FRIS, СОРТИРОВКА-PSV, PERSONEELSZAKEN).

(Примечание: требуется только число, а не имена.)

  1. Общее количество 100% (Correct_score), полученное пользователем 1. из этого уникального имени теста. (Если KENNISMAKING имеет 2 [100% Correct_score] (см. Номер строки 3,5), так что считайте это только 1)

Вывод: Пользователь 1 выполнил 3 теста на 100%.

Ответ №1:

необработанный sql. предполагая, что имя таблицы quiz

  1. SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1;
  2. SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1 and Correct_score == 100;

Комментарии:

1. Спасибо за этот результат является правильным, но как печатать 5 из этого, <?php $count = $wpdb->get_results(«выберите граф(отчетливый(Quiz_name)) от» . $wpdb->prefix .на «mlw_results где user=».$id.»»») ; ?> Результат: Массив ( [0] => Объект stdClass ( [count(distinct(Quiz_name))] => 5 ) ) Как напечатать 5, используя этот массив

2. Не используйте get_results здесь, это для сбора результатов. Используйте get_val вместо этого.