我目前正在通过添加MySQL条款ORDER BY id DESC
来输出我的所有成员,但我觉得这不会奖励那些对我的服务有效的人。
我考虑通过他们在ID下的其他表中的条目来判断订单。
基本上,我在询问是否可以
对此虚假的东西
SELECT user_id,name,etc FROM users ORDER BY (
COUNT(SELECT FROM users_interactions WHERE user_id = user_id) *******
) ASC
在 COUNT 语句的末尾,user_id = user_id
只是猜测。
答案 0 :(得分:3)
你几乎就在那里 - 你需要做的是将COUNT
放在SELECT
内:
SELECT user_id,name,etc FROM users u ORDER BY (
SELECT COUNT(*)
FROM users_interactions i
WHERE i.user_id = u.user_id
) ASC
您也可以使用JOIN
执行此操作,如下所示:
SELECT u.user_id, u.name, u.etc
FROM users u
LEFT OUTER JOIN users_interactions i ON i.user_id = u.user_id
GROUP BY u.user_id, u.name, u.etc
ORDER BY COUNT(*) ASC