SQL, получив только первую записанную строку в таблице, и я хочу, чтобы все

Кто-то уже помог мне с этим запросом, но я сделал адаптацию, и у меня возникла проблема:

    SELECT 
        AVG(tyd.price) AS avg_price, COUNT(tyd.id_product) AS cnt, 
        tyd.id_marchand, tyd.id_product, 
        catalog.price AS c_price, tyd.price AS t_price, 
        tyd.amount AS t_am, pro_tyd.amount AS p_am, 
        pro_tyd.price AS p_price, catalog.img_src,  
        tyd.step, tyd.login AS tyd_l
    FROM catalog 
    INNER JOIN tyd ON catalog.id_marchand = tyd.id_marchand 
                   AND catalog.id_product =   tyd.id_product
                   AND tyd.step = "1" 
    INNER JOIN pro_tyd  ON tyd.id_marchand = pro_tyd.id_marchand 
                        AND tyd.id_product = pro_tyd.id_product
    GROUP BY 
         catalog.id_product, catalog.id_marchand
    HAVING 
         tyd.login = "[email protected]"

и это работает только тогда, когдаtyd.login = "[email protected]" который является нижним идентификатором. не работает с user1 или user2 ... Я просто не могу понять, почему ...! Также это работает, если я группирую по tyd.login, но в этом случае функции AVG и COUNT работают только в одной строке ...

Вот таблица:

id  id_marchand  id_product   login       price  amount  delay  step    time   
29      1           1       [email protected]   344     1       0      1   1343297500
120     1           1       [email protected]   54      1       0      1   1343297504
109     1           1       [email protected]  34      1       0      1   1343298598

когдаHAVING tyd.login = "[email protected]" это работает отлично. Когда user1 или user2 я получил 0 строк.

Спасибо за вашу помощь

Первый предмет:Sql, получить среднее значение по группе, избегая условия where

Ответы на вопрос(2)

Ваш ответ на вопрос