2016-02-15 41 views
1

我有这样的一个表:MySQL查询不选择不同

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

而且我尝试去通过该表并打印出像这样为每个用户。 :

测试ID:问题# 号码:使用此,我只能得到#

进出口打印出测试ID。通过聚合函数

$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从user_answers其中USER_ID = 1组由为test_id '。 – chris85

+0

@ chris85这只是打印测试ID号码,没有别的 – 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

对不起,它仍然没有工作。它只是剔出测试ID号 – JohnyChew