2017-03-27 26 views
1

我需要爲每個用戶返回遊戲的'flashcards'的所有行。SQL:我只得到一行返回每個用戶

目前我只收到每行用戶返回的一行。

SELECT 
    s.name as Escuela, 
    sc.class_description as Clase, 
    u.level as "Nivel Del Alumno", 
    CONCAT(u.firstname," ",u.lastname) as Nombre, 
    stats.game_type as "Tipo de Juego", 
    MIN(stats.time) as "Tiempo en Segundos", 
    SEC_TO_TIME(stats.time) as "Tiempo en Formato" 
FROM 
    game_statistics stats 
INNER JOIN 
    users1 u ON stats.user_id = u.id 
INNER JOIN 
    school_classes sc ON u.class_id = sc.id 
INNER JOIN 
    schools s ON s.id = sc.school_id 
WHERE 
    stats.game_type LIKE 'flashcards' 
GROUP BY 
    s.name, sc.class_description, 
    u.level, Nombre, stats.game_type 
ORDER BY 
    s.name, sc.class_description, 
    u.level, stats.game_type, stats.time 
+3

您正在使用哪個dbms。 (該查詢有點無效...) – jarlh

回答

0

使用以下查詢。您必須包含通配符%以獲得包含文本flashcard的所有行。無論何時在查詢中使用LIKE運算符,都應該使用通配符,否則使用LIKE的目的就會失效。

SELECT 
    s.name AS Escuela 
    ,sc.class_description AS Clase 
    ,u.level AS "Nivel Del Alumno" 
    ,CONCAT(u.firstname, " ", u.lastname) AS Nombre 
    ,stats.game_type AS "Tipo de Juego" 
    ,MIN(stats.TIME) AS "Tiempo en Segundos" 
    ,SEC_TO_TIME(stats.TIME) AS "Tiempo en Formato" 
    FROM game_statistics stats 
    INNER JOIN users1 u 
    ON stats.user_id = u.id 
    INNER JOIN school_classes sc 
    ON u.class_id = sc.id 
    INNER JOIN schools s 
    ON s.id = sc.school_id 
    WHERE stats.game_type LIKE '%flashcards%' 
    GROUP BY s.name 
      ,sc.class_description 
      ,u.level 
      ,Nombre 
      ,stats.game_type 
    ORDER BY s.name, sc.class_description, u.level, stats.game_type, stats.TIME 
+0

嗨。在每個用戶獲得一行之前。現在我沒有。我複製並粘貼了你的代碼。我使用了我的Tgen,並且只是添加了通配符,但是我恐怕現在沒有行了。 – user3149225

+0

嗨。我什麼也沒得到。但是,當我刪除通配符時,它就起作用了。 – user3149225

+0

是的注意到,我只是修改我的查詢。感謝那。 – Sunil