Я новичок в этом форуме с точки зрения публикации, как может показаться на этом вопросе. У меня возникают некоторые проблемы с тем, как я хочу, чтобы мои данные появлялись.mysql joins and groups
Итак, у меня есть 3 таблицы (я только показывать столбцы, которые я хочу):
посетителей:
center_id (where the visitor was) | state_id (where they came from)
центры:
center_id | center
состояния:
state_id | state
здесь есть е запрос, который я использую
SELECT states.state, visitors.center_id, visitors.state_id, centers.center, COUNT(visitors.state_id) AS totalCount
FROM visitors
LEFT JOIN states ON states.state_id = visitors.state_id
LEFT JOIN centers ON centers.center_id = visitors.center_id
WHERE visitors.vdate = <some date> AND visitors.state_id <> '0'
GROUP BY centers.center, visitors.state_id
Это приводит следующий массив:
Array
(
[0] => Array
(
[state] => Connecticut
[location_id] => 1
[state_id] => 8
[center] => Little River
[totalCount] => 1
)
[1] => Array
(
[state] => California
[location_id] => 5
[state_id] => 6
[center] => North Augusta
[totalCount] => 1
)
[2] => Array
(
[state] => Colorado
[location_id] => 5
[state_id] => 7
[center] => North Augusta
[totalCount] => 2
)
[6] => Array
(
[state] => Connecticut
[location_id] => 9
[state_id] => 8
[center] => Santee
[totalCount] => 2
)
[7] => Array
(
[state] => Virginia
[location_id] => 9
[state_id] => 51
[center] => Santee
[totalCount] => 1
)
)
Это то, что я действительно хочу:
Array
(
[Little River] => Array
(
[0] => Array
(
[state] => Connecticut
[state_id] => 8
[totalCount] => 1
)
)
[North Augusta] => Array
(
[0] => Array
(
[state] => California
[state_id] => 6
[totalCount] => 1
)
[1] => Array
(
[state] => Colorado
[state_id] => 7
[totalCount] => 2
)
)
[Santee] => Array
(
[0] => Array
(
[state] => Connecticut
[state_id] => 8
[totalCount] => 2
)
[1] => Array
(
[state] => Virginia
[state_id] => 51
[totalCount] => 1
)
)
)
В конце концов я ставлю это в таблицу что выглядит примерно так:
__________________
|State | Count|
-------------------
| Santee |
-------------------
| Georgia | 5 |
-------------------
| Alabama | 10 |
-------------------
| North Augusta |
-------------------
| another | 7 |
-------------------
Извините за то, что я долгое время наматывался, но это был единственный способ, которым я мог бы это описать.
Я также попытался сломать его в php, но я, вероятно, тоже что-то не так понял. Я могу создать таблицу с тремя столбцами с центром, указанным в каждом состоянии, но я снова ищу строку, которая показывает центр, за которым следуют все состояния и подсчеты для этого центра и следующего центра.
Любая помощь будет оценена по достоинству.
Как вы выборки результатов в PHP? – vidit