|
|
|
| Всем добрый день. Есть задача из базы данных выбрать количество и общую сумму платежей с некоторыми условиями.
Выбрать нужно только данные с уникальным `pay`.`id_global`
SELECT DISTINCT `pay`.`id_global`, COUNT(`pay`.`id`) as `countPay`, SUM(`summa`) as `summa`, `global`.`id` FROM `pay`, `global` WHERE `global`.`registr` LIKE '%$row[period]%' and `pay`.`id_global`=`global`.`id` ORDER BY `pay`.`id` ASC
|
Кажется, что distinct должен работать.
SELECT DISTINCT `pay`.`id_global`, COUNT(`pay`.`id`) as `countPay`, SUM(`summa`) as `summa`, `global`.`id` FROM `pay`, `global` WHERE `global`.`registr` LIKE '%$row[period]%' and `pay`.`id_global`=`global`.`id` ORDER BY `pay`.`id` ASC
|
Этот запрос возвращает такие же данные.
%row[period] - это переменная в которой хранится месяц и год за который выбираем данные. Понимаю, что можно было сделать через GROUP BY date_format, но в этой ситуации такой вариант не подходит.
Теперь 2 вопроса! Почему DISTINCT не работает? И как мне выбрать уникальные данные? | |
|
|