Есть ли способ получить все строки, используемые в группе?Вернуть все строки в группе
Как и следовало ожидать, запрос ниже возвращает только одну строку за custref
. Но если totalamount
> 0, я хочу, чтобы он возвращал все строки в группе. Иначе нет.
$sql = "SELECT
debtors.custref,
debtors.amount,
users.bnkSort,
users.bnkAccNum,
users.bnkAccName,
SUM(debtors.amount) AS totalamount
FROM debtors
LEFT JOIN users ON debtors.custref=users.custref
WHERE
users.bank = 'Yes'
GROUP BY debtors.custref
";
Параметр 'Предложение GROUP BY' для выполнения функций над группами данных, если вам нужны строки в каждой группе, тогда вам нужно отправить другой запрос. Кстати, вы не должны 'SELECT' столбцы, которые не являются частью агрегации, потому что это приведет к неправильным результатам (хотя MySQL примет это). – watery
Проверьте [group_concat()] (http://www.percona.com/blog/2013/10/22/the-power-of-mysqls-group_concat/), что позволит вам брать детали из определенного и соедините их в одно значение вместе с группировкой по значению (значениям). – DWright