我的数据库中有两个表,dbl1_profiletype和dbl1_users。
在dbl1_profiletype中,我有“id”和“name”
的列id__name
3___red
5___blue
6___white
7___green
8___brown
在dbl1_users中,我有“userid”和“profile”的列,其中“profile”值与dbl1_profiletype表中的“id”值相同。
我想要展示的是一张如下图所示的表格:
所以,我需要的是返回一个列表,其中包含profiletype的成员总数,由profiletype以更多成员排序,最后以成员数量较少的profiletype排序。 我试着像这样选择名称和COUNT(个人资料):
SELECT name, COUNT(profile)
FROM dbl1_profiletype, dbl1_users
GROUP BY profile
但它不起作用。
我也尝试过:
SELECT name, COUNT(profile)
FROM dbl1_profiletypes, dbl1_users
GROUP BY profile
没有成功。
我是mysql中的noob,但我怀疑它可能很简单,但目前还不能理解。
非常感谢任何帮助
答案 0 :(得分:1)
这就是我提供的信息。我认为你错过了JOIN
条件,
SELECT DBL1_PROFILETYPE.NAME MEMBERS
, COUNT(*) TOTAL
FROM DBL1_USERS
JOIN DBL1_PROFILETYPE
ON DBL1_USERS.PROFILETYPE = DBL1_PROFILETYPE.ID
GROUP BY DBL1_PROFILETYPE.NAME