У меня есть специальный сценарий для извлечения «уникальной» строки.
Допустим, база данных похожа на ниже
| id | userid | value | others |
|----|--------|-------|---------|
| 1 | 111 | 10 | string1 |
| 2 | 112 | 30 | string2 |
| 3 | 112 | 30 | string3 |
| 4 | 113 | 50 | string4 |
, чего я хочу добиться, это выбрать уникальные строки на основе «идентификатор пользователя», поэтому я могу суммировать все значения.
ожидаемая строка вывода может быть либо id: 1 2 4
, либо 1 3 4
(оба приемлемы для этого особого случая, потому что same id guarantees same value
или вообще получите только одну строку из этой строки с таким же userid
.), поэтому сумма будет 90
.
Примечание: DB
расширен с Eloquent\model
Мой старый подход заключается в том, чтобы получить DB :: unique ('userid'); затем для каждого идентификатора пользователя DB :: where ('userid', $ id) -> value ('value') добавьте результат в сумму; Я просто верю, что может быть лучший подход.