powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сформировать сводную view (phpmyadmin)
15 сообщений из 15, страница 1 из 1
Сформировать сводную view (phpmyadmin)
    #39646038
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую
Ребята столкнулся с задачей нужно построить view в phpmyadmin
Пример таблицы в прикрепленном файле
суть имея данные в таком виде
id key value
1 nickname value1_1
1 first_name value1_2
1 last_name value1_3
1 description value1_4
1 rich_editing value1_5
1 comment_shortcuts value1_6
2 nickname value2_1
2 first_name value2_2
2 last_name value2_3
2 description value2_4
2 rich_editing value2_5
2 comment_shortcuts value2_6
3 nickname value3_1
3 first_name value3_2
3 last_name value3_3
3 description value3_4
3 rich_editing value3_5
3 comment_shortcuts value3_6

привести их в читабельный вид
nickname first_name last_name description rich_editing comment_shortcuts
value1_1 value1_2 value1_3 value1_4 value1_5 value1_6
value2_1 value2_2 value2_3 value2_4 value2_5 value2_6
value3_1 value3_2 value3_3 value3_4 value3_5 value3_6

Пробовал осилить pivot но не уверен что это правильный подход.
Пните в ужном направлении.
Спасибо
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646042
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kreol2009Пробовал осилить pivotНу ещё бы... откуда PIVOT в MySQL?
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646068
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже нет)
возможно ли реализовать данную задачу?
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646101
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Список ключей - статический? или может меняться?
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646175
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
статический
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646182
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда "pivot вручную" - самое простое решение.
Код: sql
1.
2.
3.
4.
5.
SELECT MAX(CASE WHEN `key` = 'nickname' THEN `value` END) nickname
     , MAX(CASE WHEN `key` = 'firstname' THEN `value` END) firstname
     , ...
FROM table
GROUP BY id
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646212
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает. А можно вопрос. MAX тут выступает в какой роли, если правильно понял то он нужен именно для связки с GROUP BY как я понял из статьи http://oracleplsql.ru/mysql-function-max.html но я не уверен.
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646215
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kreol2009MAX тут выступает в какой ролиПосле группировки ты получаешь пачку значений, возвращаемых соответствующим CASE, одно из которых - нужное тебе (условие совпало), а остальные Null. MAX собственно и отсеивает Null-ы.
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646216
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужно понять, что происходит - добавь в SELECT все поля исходной таблицы, добавь WHERE, отбирающее только один (любой) id, и убери GROUP BY.
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39646230
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, благодарю.
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39659198
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую
Все работает отлично, только теперь возник вопрос. иногда время пишется в unix
попытка преобразовать его через
Код: php
1.
unix_timestamp(MAX(CASE WHEN `meta_key` = 'time' THEN `meta_value` END)) time,


не приводит к нужному варианту.

Подскажите как правильно его применять в данном случае
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39659251
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные давайте, а не своими словами
данные и что должно получиться
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39659352
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть поле, которое названо time и в нем вот такое число 1495705221
но при этом это pivot таблица ручками)
Нужно преобразовать в нормальную дату и время.
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39659357
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
> SELECT FROM_UNIXTIME(1495705221);
+---------------------------+
| FROM_UNIXTIME(1495705221) |
+---------------------------+
| 2017-05-25 13:40:21       |
+---------------------------+
...
Рейтинг: 0 / 0
Сформировать сводную view (phpmyadmin)
    #39659385
Kreol2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю, помогло.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сформировать сводную view (phpmyadmin)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]