2016-02-15 2 views
1

У меня есть таблица вроде этого:MySQL запросов не выбирая отчетливый

Test_ID Question_ID User_ID 
--------------------------------- 
15   1   1 
15   2   1 
16   1   2 

И им пытаются пройти через стол и распечатать что-то вроде этого для каждого пользователя. :

Test ID: # Количество вопросов: #

Im, используя это, которое я могу получить только распечатать тест ид.

$result = mysqli_query($conn, "SELECT DISTINCT(Test_ID) AS Tcode, COUNT(Question_ID) AS Qcount,User_ID FROM user_answers WHERE User_ID = 1"); 

    while ($data = mysqli_fetch_array($result)) { 

     echo ''.$data['Tcode'].''; 
     echo ''.$data['Qcount'].''; 


    } 
+0

Попробуйте 'ВЫБРАТЬ TestID, COUNT (Question_ID) AS Qcount, user_id FROM user_answers WHERE User_ID = 1 группа по Test_id '. – chris85

+0

@ chris85 Это просто печатает идентификационный номер теста и ничего больше – JohnyChew

ответ

4

использование группы по для агрегатной функции (и для этого вам don0t нужно отчетливый)

"SELECT Test_ID AS Tcode, COUNT(*) AS Qcount, User_ID 
     FROM user_answers 
     WHERE User_ID = 1 group by Tcode, User_ID ") 
+0

Это не работает. Я когда я эхо Tcode и Qcount, я просто получаю номер 1 – JohnyChew

+0

У меня есть ответ. – scaisEdge

+0

жаль, что он все еще не работает. Его просто вычеркивает идентификационный номер теста – JohnyChew

Смежные вопросы