【问题标题】:Wordpress and wp_usermeta PIVOT resultsWordpress 和 wp_usermeta PIVOT 结果
【发布时间】:2021-01-18 04:26:47
【问题描述】:

我正在尝试根据用户对平台的访问来构建报告。 所有用户都是注册用户,他们来自不同的部门。 所有这些都存储在 wp_usermeta 表下的数据库中。

例如,我想要人力资源部门在 2020 年 12 月登录的所有用户的总数。这是我通过查看网络示例得出的结论:

SELECT 
    (CASE WHEN meta_value = "HR Division" THEN meta_value END) AS school, 
    (CASE WHEN meta_key = "last-login" AND YEAR(FROM_UNIXTIME(meta_value)) = 2020 AND MONTH(FROM_UNIXTIME(meta_value)) = 12 THEN meta_value END) AS logins
    (COUNT(user_id)) as totals, 
FROM 
    wp_usermeta
GROUP BY school

但给我以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(COUNT(user_id)) as totals, 
FROM 
    wp_usermeta
GROUP BY school' at line 4

我真的不知道从这里去哪里。 有什么想法吗?

【问题讨论】:

  • 你忘了在... AS logins后面加逗号(,
  • 是的。没想到。

标签: mysql wordpress pivot-table


【解决方案1】:

查看更多教程并在此处浏览答案后,请查看 fila 查询:

    SELECT COUNT(*) AS result FROM (
      SELECT
        wp_users.ID,
        m1.meta_value as department,
        m2.meta_value as login
      FROM
        wp_users
        LEFT OUTER JOIN wp_usermeta AS m1 ON wp_users.ID = m1.user_id
        LEFT OUTER JOIN wp_usermeta AS m2 ON wp_users.ID = m2.user_id
      WHERE
        m1.meta_key = "department" AND
        m2.meta_key = "last-login" AND
        m1.meta_value = "HR Department" AND
        YEAR(FROM_UNIXTIME(m2.meta_value)) = 2020 AND
        MONTH(FROM_UNIXTIME(m2.meta_value)) = 12

    ) AS mainquery

括号内的查询将列出用户ID、部门和用户上次登录的时间。主查询将返回记录的计数。

它在这里为所有需要它的人提供!!!

【讨论】:

    猜你喜欢
    • 2011-12-28
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多