Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 尝试学习SQL查询_Mysql_Sql - Fatal编程技术网

Mysql 尝试学习SQL查询

Mysql 尝试学习SQL查询,mysql,sql,Mysql,Sql,一般来说,我对所有SQL查询语言和SQL数据库都很陌生 所以在挖掘了一段时间后,我似乎仍然无法解决这些问题 我有一套桌子 PERSON(SSN, Name, Surname, BirthDate) EVALUATION(CodE, Date, City, CompetitionType) BID(SSN, CodE) RANKING(CodE, Position, SSN ) 我需要进行并运行这3个查询 1显示在2010年1月期间,总是在同一城市进行的评估类型 2对于参与“3级员工”类型评估但

一般来说,我对所有SQL查询语言和SQL数据库都很陌生 所以在挖掘了一段时间后,我似乎仍然无法解决这些问题

我有一套桌子

PERSON(SSN, Name, Surname, BirthDate)
EVALUATION(CodE, Date, City, CompetitionType)
BID(SSN, CodE)
RANKING(CodE, Position, SSN )
我需要进行并运行这3个查询

1显示在2010年1月期间,总是在同一城市进行的评估类型

2对于参与“3级员工”类型评估但未出现在最终排名中的每个人,显示SSN、姓名、姓氏以及她未出现在排名中的评估代码

3显示至少进行了10次相同类型评估的城市,每个城市至少有50次投标

到目前为止我已经试过了

一,

而在那之后,只是一片空白

三,

同样的,我甚至不能检查相同的类型


更新以显示到目前为止我所尝试的问题1是一个直接聚合查询,在having子句中进行过滤

对于查询3,您可以从评估开始,在where子句中使用与bid相关的子查询进行筛选,然后按城市和竞争进行聚合,并使用having子句进行筛选:


到目前为止你试过什么?在提问之前,你应该展示你所做的努力。你能为这3个问题添加任何SQL查询吗?不要担心它的正确性。很高兴看到你尝试了什么。您可能比您想象的更接近解决方案。您是在尝试仅使用SQL解决此问题,还是打算使用PHP等其他语言解决此问题?感谢您的快速响应!我更新了这个问题,并提出了一些问题tried@Ahijit现在,只需自己学习SQL,以后可能会与NodeJS或Python一起使用,来自NoSQL数据库(如MongoDB)的SQL非常难找到…问题1中,我可以按城市分组吗?最好的做法是在语法中使用大写:从表中选择列作为tn,其中列为column@John我一直认为大写关键字是一个偏好问题。通过IDE突出显示关键字,很容易知道大多数情况下哪些是关键字,哪些不是关键字。我发现用小写字母打字更快;这正是我的喜好。围绕这一点有一些很好的争论。
SELECT E.CompetitionType
FROM Evaluation E
WHERE E.Date>="01.01.2010" and E.Date <="31.01.2010"```

// I don't know how to check for the same cities
SELECT P.SSN, P.Name, P.Surname, E.CodE,
FROM PERSON P
SELECT *
FROM EVALUATION E
JOIN BID where BID.CodE = E.CodE
HAVING COUNT(*) > 50
select competitionType
from evaluation
where date >= '2010-01-01' and date < '2020-01-01
group by competitionType
having min(city) = max(city)
select p.ssn, p.name, p.surname, b.code
from person p
inner join bid b on b.ssn = p.ssn
where not exists (select 1 from ranking r where r.ssn = b.ssn and r.code = b.code)
select e.city, e.competitionType
from evaluation e
where (select count(*) from bid b where b.code = e.code) >= 50
group by e.city, e.competitionType
having count(*) >= 10