数据库问题,根据需求编写查询

时间:2018-09-13 03:27:34

标签: mysql database

假设我有2张桌子。 table1:运行table2:用户 run_id int用户名nchar(255) test_id int隶属枚举('a','b') 用户名nchar(255)first_name nchar(255) 日期datetime last_name nchar(255)

表运行中的用户名是表用户的外键。

问题:编写一个查询,以显示在2016年1月1日之前,每个用户使用“ a”隶属关系运行了多少个独特的测试,以及运行了多少次。从运行最多数量的唯一测试的用户开始,订购结果。

请帮助,明天将上传我的部分答案。谢谢

这是我的更新:  1:表runs.test_id是唯一的  2:我的答案

select count(test_id), test_id, mydb.users.username
from mydb.runs, mydb.users
where mydb.runs.username = mydb.users.username and 
mydb.users.affiliation='a'
group by test_id, username
order by count(test_id) desc

我无法通过在test_id前面添加与众不同的方式来显示唯一的测试。有什么想法吗?谢谢

1 个答案:

答案 0 :(得分:0)

SELECT a.test_id, a.date, b.username FROM runs a, users b WHERE a.username = b.username AND a.date < '2016-1-1'