我有2个表:“用户”和“页面”。
我需要列出表“用户”,但如果用户有自己的页面,则首先显示具有“页面”的用户,然后列出没有“页面”的其他用户。
USERS table:
id | name | lastname
PAGES table:
id | user_id | content
我不知道如何为此编写查询。
谢谢!
这样的事情应该使您接近:
select users.id as user_id,
users.name as user_name,
users.lastname as user_lastname,
count(*) as tot
from users
left join pages
on pages.user_id = users.id
group by user_id, user_name, user_lastname
order by tot DESC, user_lastname, user_name
它应首先列出页面最多的用户,其次是页面较少的用户,然后是没有页面的用户,并且在每个页面计数内,请按姓氏和用户名的字母顺序对用户进行排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句