Mysql 我刚开始学习SQL。我如何在这段代码中度过我的一年?
我是MySQL新手。我写了这段代码,但似乎不正确Mysql 我刚开始学习SQL。我如何在这段代码中度过我的一年?,mysql,sql,sql-server,Mysql,Sql,Sql Server,我是MySQL新手。我写了这段代码,但似乎不正确 select mm.adi, year(sb.tarih) as yil, Count(1) as satisSayisi from Marka mm, SatisBaslik sb, Model mo, Araba aa, SatisSatirları ss where mm.markaId = mo.markaId and mo.modelId = aa.modelId and aa.arab
select mm.adi, year(sb.tarih) as yil, Count(1) as satisSayisi
from Marka mm,
SatisBaslik sb,
Model mo,
Araba aa,
SatisSatirları ss
where mm.markaId = mo.markaId
and mo.modelId = aa.modelId
and aa.arabaId = ss.arabaId
and ss.satısId = sb.satısId
group by mm.adi, year(sb.tarih)
如果我这样写,给错了
我想知道如何获取我的年份您的FROM子句应该只有表名。从何处选择 OP试图返回的结果一点也不清楚。我猜OP只是想包含一个谓词条件,将行限制在特定的年份 大概是这样的:
SELECT mm.adi
, YEAR(sb.tarih) AS yil
, COUNT(1) AS satisSayisi
FROM Marka mm
JOIN Model mo
ON mo.markaId = mm.markaId
JOIN Araba aa
ON aa.modelId = mo.modelId
JOIN SatisSatirlari ss
ON ss.arabaId = aa.arabaId
JOIN SatisBaslik sb
ON sb.satisId = ss.satisId
WHERE sb.tarih >= '2017-01-01'
AND sb.tarih < '2018-01-01'
GROUP
BY mm.adi
, YEAR(sb.tarih)
但这只是一个猜测 你只给我们提供了一张桌子,如果你不告诉我们所有桌子的结构,我们就帮不了你them@RoseTyler我认为你需要了解更多关于MySQL的知识,OP想要实现什么还不清楚。在这个代码中获取我的年份。。。我们只能猜测OP想要达到什么结果。考虑到about和tarih='2017,OP可能希望包含一个谓词条件来限制返回的行。。。但这只是一个猜测。这个问题很令人困惑,用MySQL和SQL Server标记。@RoseTyler在评论部分请告诉我们您真正想要实现的目标。我们将编辑您今天的问题提示:切换到现代的显式连接语法。更易于编写而无错误,更易于读取和维护,并且在需要时更易于转换为外部联接。
SELECT mm.adi
, YEAR(sb.tarih) AS yil
, COUNT(1) AS satisSayisi
FROM Marka mm
JOIN Model mo
ON mo.markaId = mm.markaId
JOIN Araba aa
ON aa.modelId = mo.modelId
JOIN SatisSatirlari ss
ON ss.arabaId = aa.arabaId
JOIN SatisBaslik sb
ON sb.satisId = ss.satisId
WHERE sb.tarih >= '2017-01-01'
AND sb.tarih < '2018-01-01'
GROUP
BY mm.adi
, YEAR(sb.tarih)