从两个不同的表MySQL和ordering中检索和值
我的数据库中有两个表,dbl1_profiletype和dbl1_users 在dbl1_profiletype中,我有带有“id”和“name”的列 在dbl1_用户中,我有“userid”和“profile”列,其中“profile”值与dbl1_profiletype表中的“id”值相同 我想展示的是下图中的一个表格: 因此,我需要返回一个按profiletype列出的成员总数的列表,按成员数较多的profiletype和成员数较少的profiletype排序。 我尝试选择名称和计数(配置文件),如下所示:从两个不同的表MySQL和ordering中检索和值,mysql,Mysql,我的数据库中有两个表,dbl1_profiletype和dbl1_users 在dbl1_profiletype中,我有带有“id”和“name”的列 在dbl1_用户中,我有“userid”和“profile”列,其中“profile”值与dbl1_profiletype表中的“id”值相同 我想展示的是下图中的一个表格: 因此,我需要返回一个按profiletype列出的成员总数的列表,按成员数较多的profiletype和成员数较少的profiletype排序。 我尝试选择名称和计数(
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,但我怀疑这可能是一个简单的实现,但目前我无法理解
任何帮助都将不胜感激这是我根据您提供的信息得出的结论。我认为您缺少加入的
条件
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
这两次尝试有什么不同?请以格式化文本形式发布数据。另外,你在没有连接条件的情况下连接表,这是我的错误。我的另一个尝试是使用join语法。但就像我说的,我是mysql的noob。任何关于SQL连接的教程都应该解释你缺少了什么。就是这样!唯一的问题是顺序不对。我首先需要最高的值,最后需要较低的值。就像我在帖子中展示的图像。红色4,然后是绿色2,蓝色2,棕色1,白色0。好的,我知道怎么做了。按总说明订购。
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