Здравствуйте уважаемые программисты.
Прошу подсказки, как можно загнать в массив все значения одного из полей?
А именно есть таблица с полями: поле1, поле2, поле3.
Соответственно в этой таблице очень много записей, около миллиона. Но мы знаем что поле2 может содержать всего несколько значений.
Вот и вопрос, как занести в массив все значения поле2 из миллиона строк?


Все значения поля.
Автор dolphin, 03 июля 2012 12:23
Сообщений в теме: 9
#1
Отправлено 03 Июль 2012 - 12:23
#2
Отправлено 03 Июль 2012 - 12:37
Попробовал следующим способом:
Результат - всего одно значение в поле f1293.
$sqlQuery = "SELECT f1293 as operation FROM ".DATA_TABLE."106"; $result = mysql_query($sqlQuery); $row = mysql_fetch_array($result); $data = array($row['operation']); $res = array_unique($data); print_r($res);
Результат - всего одно значение в поле f1293.
#3 Гость_Roman_*
Отправлено 03 Июль 2012 - 13:08
Используйте ключевое слово DISTINCT в запросе.
$sqlQuery = "SELECT DISTINCT f1293 as operation FROM ".DATA_TABLE."106"; $result = mysql_query($sqlQuery); while ($row = mysql_fetch_array($result)) { $data[] = $row['f1293']; } print_r($data);Запрос вернёт только уникальные значения поля f1293.
Сообщение отредактировал Roman: 03 Июль 2012 - 13:14
#4
Отправлено 03 Июль 2012 - 13:13
Уххх!!! спасибо ОГРОМНЕЙШЕЕ!
#5
Отправлено 03 Июль 2012 - 13:15
Хм... Данный код возвращает:
Array ( [0] => TKTT [operation] => TKTT )
#6 Гость_Roman_*
Отправлено 03 Июль 2012 - 13:18
Проверьте ещё раз, я отредактировал вычисление, возможно, что Вы взяли ещё неотредактированный код.
#7
Отправлено 03 Июль 2012 - 13:19
Ага, теперь возвратило следующее:
Array ( [0] => [1] => [2] => [3] => [4] => [5] => )
#8
Отправлено 03 Июль 2012 - 13:21
Изменил запрос на такой:
Все супер!!!
$sqlQuery = "SELECT DISTINCT f1293 as operation FROM ".DATA_TABLE."106"; $result = mysql_query($sqlQuery); while ($row = mysql_fetch_array($result)) { $data[] = $row['operation']; } print_r($data);
Все супер!!!
#9 Гость_Roman_*
Отправлено 03 Июль 2012 - 13:22
Да, я не обратил внимание, что полю присвоен псевдоним.
#10
Отправлено 03 Июль 2012 - 13:47
Т. е. получается что по теории запрос резко обрабатывается и в итоге выдавал $row = крайнему элементу. А с помощью while мы как бы сделали цикл выполнения массива... Интересно... Почерпну для себя. Спасибо еще раз!
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных