除了MYSQL中的行数据之外,获得行级别的最佳方法是什么?
例如,假设我有一份学生名单,我想在GPA中排名.我知道我可以通过GPA订购,但是有什么最快的方式让MYSQL在我回来的rowdata中返回等级?
SQL(MySQL)中是否有办法在特定字段上执行"循环"ORDER BY?
举个例子,我想拿一个像这样的表:
+-------+------+
| group | name |
+-------+------+
| 1 | A |
| 1 | B |
| 1 | C |
| 2 | D |
| 2 | E |
| 2 | F |
| 3 | G |
| 3 | H |
| 3 | I |
+-------+------+
Run Code Online (Sandbox Code Playgroud)
并运行以此顺序生成结果的查询:
+-------+------+
| group | name |
+-------+------+
| 1 | A |
| 2 | D |
| 3 | G |
| …Run Code Online (Sandbox Code Playgroud) SELECT DISTINCT users.id as expert_id, users.firstname, users.lastname
, projects.id as project_id, projects.project_title
, projects.project_budget, projects.created as project_created
FROM USERS
RIGHT JOIN expert_skills ON expert_skills.expert_id = users.id
JOIN project_skills ON project_skills.skill_id = expert_skills.skill_id
JOIN projects ON projects.id = project_skills.project_id
WHERE projects.status = 1
Run Code Online (Sandbox Code Playgroud)
此查询为我提供了与用户相关的不同项目,但我想限制每位专家的项目数.例如,我想要与专家相关的项目,但项目数量最多可达10个.我的查询需要一个限制工具.我怎么能这样做?谢谢