Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сформировать сводную view (phpmyadmin) / 15 сообщений из 15, страница 1 из 1
17.05.2018, 12:39
    #39646038
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Приветствую
Ребята столкнулся с задачей нужно построить 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
17.05.2018, 12:42
    #39646042
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Kreol2009Пробовал осилить pivotНу ещё бы... откуда PIVOT в MySQL?
...
Рейтинг: 0 / 0
17.05.2018, 13:15
    #39646068
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
похоже нет)
возможно ли реализовать данную задачу?
...
Рейтинг: 0 / 0
17.05.2018, 13:52
    #39646101
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Список ключей - статический? или может меняться?
...
Рейтинг: 0 / 0
17.05.2018, 15:06
    #39646175
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
статический
...
Рейтинг: 0 / 0
17.05.2018, 15:17
    #39646182
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Ну тогда "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
17.05.2018, 15:49
    #39646212
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Работает. А можно вопрос. MAX тут выступает в какой роли, если правильно понял то он нужен именно для связки с GROUP BY как я понял из статьи http://oracleplsql.ru/mysql-function-max.html но я не уверен.
...
Рейтинг: 0 / 0
17.05.2018, 15:51
    #39646215
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Kreol2009MAX тут выступает в какой ролиПосле группировки ты получаешь пачку значений, возвращаемых соответствующим CASE, одно из которых - нужное тебе (условие совпало), а остальные Null. MAX собственно и отсеивает Null-ы.
...
Рейтинг: 0 / 0
17.05.2018, 15:53
    #39646216
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Если нужно понять, что происходит - добавь в SELECT все поля исходной таблицы, добавь WHERE, отбирающее только один (любой) id, и убери GROUP BY.
...
Рейтинг: 0 / 0
17.05.2018, 16:00
    #39646230
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Понял, благодарю.
...
Рейтинг: 0 / 0
10.06.2018, 10:49
    #39659198
Kreol2009
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сводную view (phpmyadmin)
Приветствую
Все работает отлично, только теперь возник вопрос. иногда время пишется в unix
попытка преобразовать его через
Код: php
1.
unix_timestamp(MAX(CASE WHEN `meta_key` = 'time' THEN `meta_value` END)) time,


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

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


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