按用户id和用户php mysql查询采取的操作计算的总和

按用户id和用户php mysql查询采取的操作计算的总和,php,mysql,wordpress,Php,Mysql,Wordpress,从上表中可以看出,若用户id在一篇帖子上发了一条推特,而在另一篇帖子上发了一条fb帖子,那个么我想把这两点加起来 用户id位于meta_键列对应的meta_值列中,例如tweet_用户id、email_用户id、chat_用户id、fb_用户id。 每个动作的相同方式点,例如fb_点、tweet_点,也存储在对应于例如tweet_点、fb_点的meta_键值的meta_值列中 如何在php mysql中实现这一点。我正在使用wordpress。 我看到的结果如下 id post_id

从上表中可以看出,若用户id在一篇帖子上发了一条推特,而在另一篇帖子上发了一条fb帖子,那个么我想把这两点加起来

用户id位于meta_键列对应的meta_值列中,例如tweet_用户id、email_用户id、chat_用户id、fb_用户id。 每个动作的相同方式点,例如fb_点、tweet_点,也存储在对应于例如tweet_点、fb_点的meta_键值的meta_值列中

如何在php mysql中实现这一点。我正在使用wordpress。 我看到的结果如下

id post_id meta_key meta_value 1 101 tweet_point 5 2 101 tweet_user_id 1 3 101 email_point 10 4 102 fb_point 10 5 102 fb_user_id 1 6 101 email_user_id 2 7 101 chat_point 5 8 102 tweet_point 2 9 102 tweet_user_id 2 10 101 chat_user_id 2 我提出了以下代码,它只返回唯一的用户ID

user_id total 1 15 2 17 上面的代码返回我的用户ID,然后我在循环中运行下面的查询以查找用户获得的点数

SELECT distinct (meta_value) FROM wp_postmeta WHERE meta_key IN('tweet_user_id', 'email_user_id','chat_user_id','fb_user_id') 它为eg返回多行

SELECT mm.meta_value from wp_postmeta m , wp_postmeta mm WHERE m.meta_value='1' AND mm.meta_key in ('tweet_point','email_point', 'fb_point', 'chat_point') GROUP BY mm.id 如何在一行中求和这些值,以便不需要再次循环。

尝试使用此代码

meta_value 5 3
您的表格示例中的用户id在哪里?@Ota shavadeze感谢您的回复。没有用户id列。用户id位于表元键列中,例如推特用户id、电子邮件用户id、聊天用户id、fb用户id。谢谢回复。没有用户id列。用户id在表元键列中,例如tweet\u user\u id、email\u user\u id、chat\u user\u id、fb\u user\u id更新您的问题请包括所有详细信息,以便我们能够更好地回答您提供明确的表结构,以便我们能够为您提供明确的代码我添加了更多详细信息和我目前已实现的示例查询。
select user_id, count(post_id) as total from your_table group by user_id