首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL编辑年

SQL编辑年
EN

Stack Overflow用户
提问于 2015-10-21 06:33:21
回答 4查看 50关注 0票数 0

该查询有效,但只给出了1985年的值。如何添加无限年(1985-2014年)

代码语言:javascript
复制
use baseball; 

SELECT CAST(tf.franchname AS CHAR(20)), s.yearID, s.lgid, AVG(s.salary) 
FROM salaries s, teams t, teamsfranchises tf 
WHERE s.teamID = t.teamID AND
t.franchID = tf.franchID AND 
s.yearID = 1985 AND
(s.lgid='AL' OR s.lgid='NL') GROUP BY tf.franchname,  s.yearID, s.lgid order BY
s.yearID;
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-21 06:39:02

代码语言:javascript
复制
select cast(tf.franchname as char(20)), s.yearID, s.lgid, avg(s.salary) 
from salaries s, teams t, teamsfranchises tf 
where s.teamID = t.teamID and
t.franchID = tf.franchID and 
(s.yearID between 1985  and 2014 )and 
(s.lgid='AL' OR s.lgid='NL') 
group by tf.franchname,  s.yearID, s.lgid 
order by s.yearID;
票数 0
EN

Stack Overflow用户

发布于 2015-10-21 06:38:08

你可以用在两者之间

您的where子句应该如下所示

代码语言:javascript
复制
(s.yearID BETWEEN 1985 AND 2014) and

或者,您可以使用<>运算符:

代码语言:javascript
复制
(s.yearID >= 1984 and <= 2014)

如果,由于任何原因,你没有连续的年限(你只想要5年)。IN也可以是一种选择:

代码语言:javascript
复制
s.yearID IN (1984, 1991, 1996, 2001, 2006)    
票数 3
EN

Stack Overflow用户

发布于 2015-10-21 06:41:36

您的查询在and s.yearID = 1985年有一个条件筛选,您可能希望使用关键字BETWEEN更改它,或者根据需要完全删除它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33252470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档