Това е вашето запитване:
SELECT p.title, COUNT(t.qty) AS total
-------^
FROM payments t LEFT JOIN
products AS p
ON p.id = t.item
WHERE t.user = 1
GROUP BY t.item
---------^
ORDER BY t.created DESC;
---------^
Посочените места имат проблеми. Забележете, че SELECT и GROUP BY се отнасят до различна колона. В LEFT JOIN , вие (до голяма степен) винаги искате да обобщавате по нещо в първия таблица, а не втората.
ORDER BY е друг проблем. Вие не обобщавате по тази колона, така че трябва да решите коя стойност искате. Предполагам MIN() или MAX() :
SELECT p.title, COUNT(t.qty) AS total
FROM payments t LEFT JOIN
products AS p
ON p.id = t.item
WHERE t.user = 1
GROUP BY p.title
ORDER BY MAX(t.created) DESC;
Също така ще добавя, че COUNT(t.qty) е заподозрян. Обикновено qty се отнася за "количество" и това, което искате, е сумата:SUM(t.qty) .