Php 按3个表的不同行数排序?

Php 按3个表的不同行数排序?,php,mysql,Php,Mysql,我有3个表-新闻、内容和编辑 每个表中的每一行都包含一个用户id字段 我想做的是列出这3个表的主要贡献者 因此,我需要计算每个不同的user\u id在每个表中出现的次数,并按从最高计数到最低计数的顺序排列 像这样: SELECT user_id, COUNT(*) AS all_actions FROM ( SELECT user_id FROM News UNION ALL SELECT user_id FROM Content UNION

我有3个表-
新闻、内容和编辑

每个表中的每一行都包含一个
用户id
字段

我想做的是列出这3个表的主要贡献者

因此,我需要计算每个不同的
user\u id
在每个表中出现的次数,并按从最高计数到最低计数的顺序排列

像这样:

SELECT 
    user_id,
    COUNT(*) AS all_actions 
FROM (
    SELECT user_id FROM News
    UNION ALL
    SELECT user_id FROM Content
    UNION ALL
    SELECT user_id FROM Edits
) tmp_table
GROUP BY user_id
ORDER BY all_actions DESC
像这样:

SELECT 
    user_id,
    COUNT(*) AS all_actions 
FROM (
    SELECT user_id FROM News
    UNION ALL
    SELECT user_id FROM Content
    UNION ALL
    SELECT user_id FROM Edits
) tmp_table
GROUP BY user_id
ORDER BY all_actions DESC
这应该可以做到

SELECT all_user_ids.user_id as `user_id`, COUNT(all_user_ids.user_id) as `count`
FROM
(SELECT user_id FROM news
UNION ALL
SELECT user_id FROM content
UNION ALL
SELECT user_id FROM edits) AS all_user_ids
GROUP BY `user_id`
ORDER BY `count` DESC
这应该可以做到

SELECT all_user_ids.user_id as `user_id`, COUNT(all_user_ids.user_id) as `count`
FROM
(SELECT user_id FROM news
UNION ALL
SELECT user_id FROM content
UNION ALL
SELECT user_id FROM edits) AS all_user_ids
GROUP BY `user_id`
ORDER BY `count` DESC

这将是一个表实例

SELECT DISTINCT(COUNT(user_id)) as num FROM news GROUP BY user_id ORDER BY num DESC LIMIT 0,3

这将是一个表实例

SELECT DISTINCT(COUNT(user_id)) as num FROM news GROUP BY user_id ORDER BY num DESC LIMIT 0,3

列名和表名高度可自定义;)列名和表名高度可自定义;)