Podzapytanie w MySql

0

Witam serdecznie mam problem ze zrobieniem podzapytania w MySQL. Mianowicie mam zapytanie 1 które zwraca mi wszystkie rekordy:

SELECT `id`,`coupon`,`user`,`userid` FROM `users`

I drugie które zlicza ile użytkownik wykorzystał kuponów:

SELECT COUNT(`userid`),`userid` From users group by `userid`

Czy można zrobić tak by dla każdego rekordu z pierwszego zapytania podawany był wynik zliczania ile w całej bazie razy userid wykorzystał kupon??

Z góry dziękuję za pomoc

0

Można tak zrobić wykorzystując podzapytanie w SELECT.

1

Zapytanie które podałeś, odwołują się do tej samej tabeli users na logikę userid powinien wystąpić w niej tylko raz, ale da się:

SELECT `id`,`coupon`,`user`,`userid`,
(SELECT COUNT(`userid`),`userid` From users u where u.`userid`= users.`userid` group by `userid`) ilosckuponow
 FROM `users`

tylko to nie robiłbym podzapytaniem w select tylko joinem:

SELECT 
    `id`
    ,`coupon`
    ,`user`
    ,users.`userid`,
    ,`il`
 FROM 
    `users`
     inner join (SELECT 
                            `userid`
                             ,COUNT(`userid`) il
                      From 
                            users  group by `userid`) u on u.`userid`= users.`userid`

1 użytkowników online, w tym zalogowanych: 0, gości: 1