SQL从表中的唯一批处理标识符编译数据

时间:2016-01-19 02:57:54

标签: php mysql sql

我有一个分析插件,可以用JSON提交数据。这个JSON采用PHP格式,并在6个不同的表中提交到MySQL 5.6数据库中,JSON中的每个数组都与表进行协同处理,因为有些数据需要迭代而不是直接调用。

示例JSON:

{
    "data": {
        "general": {
            "starttime": "2010-92-02 21:21:21",
            "userip": "192.168.1.1",
            "page accessed": "index.php"
        },
        "page": {
            "loadtime": "1.4",
            "clicks": "5",
            "pageslist": {
                "index.php": {
                    "access time": "5"
                },
                "example.php": {
                    "access time": "1"
                },
                "contact.php": {
                    "access time": "2"
                }
            }
        },
        "userdetails": {
            "userid": "123",
            "likespie": true,
            "usersliked": {
                "george": {
                    "thinksiscool": true,
                    "last poked": "5"
                },
                "debra": {
                    "thinksiscool": false,
                    "last poked": "1000"
                }
            }
        }
    }
}

我想要做的是将这些数据放入单独的表中,每行都有一个唯一ID,该数据共享其他行,实际上是该提交的标识符。

我遇到的问题是我想不出有效迭代和编译这些数据的方法。我无法加入表中的行,因为同一提交中可能有5个页面或多个用户具有相同的列名。

我正在寻找的是能够创建至少这个理论JSON输出的一部分:

{
    "data": {
        "pages": {
            "avgloadtime": "5",
            "avgclicks": "20",
            "pagesdata": {
                "index.php": {
                    "avg access time": "2"
                },
                "example.php": {
                    "avg access time": "2"
                },
                "contact.php": {
                    "avg access time": "2"
                },
                "help.php": {
                    "avg access time": "2"
                }
            }
        },
        "users": {
            "likespiecount": "500",
            "most_liked_users": [
                "george",
                "cindy",
                "overtonstackflow"
            ]
        }
    }
}

我知道这可以在像couchDB这样的数据库中做得更好,但我认为由于用户可以找到它的可行性,我会给SQL一个很好的尝试。

0 个答案:

没有答案
相关问题