Можно ли возвращать группы как ассоциативный массив? Я хотел бы знать, возможно ли чистое SQL-решение. Обратите внимание, что я выпускаю, что я мог бы сделать вещи более сложными без необходимости, но это в основном для того, чтобы дать мне представление о силе SQL.SQL return ORDER BY result в виде массива
Моя проблема: у меня есть список слов в базе данных, которые следует сортировать по алфавиту и сгруппировать в отдельные группы в соответствии с первой буквой слова.
Например:
ape
broom
coconut
banana
apple
должен быть возвращен в
array(
'a' => 'ape', 'apple',
'b' => 'banana', 'broom',
'c' => 'coconut'
)
так что я могу легко создать отсортирован списки по первой букве (т.е. нажав «А» показывает только слова, начиная с «B «с b и т. д. Это должно облегчить мне загрузку всего в один запрос и создание отсортированного списка на основе JavaScript, то есть без необходимости перезагрузки страницы (или использования AJAX).
Примечания: Я использую PostgreSQL, но решение для MySQL было бы неплохо, поэтому я могу попытаться перенести его в PostgreSQL. Язык сценариев - это PHP.
Я бы сказал, что это классический пример того, что не должно выполняться в SQL, а скорее у клиента, получающего результат; SQL может гарантировать, что результат будет отсортирован, что делает красиво оформление набора результатов тривиальным. – araqnid