SQL几个疑问

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:18:25
我想问2个SQL的语句要怎么写
1. 平均数,比如create一个table下,有dateA,dateB.我想select一个date,数据为A与B的平均数.这个语句不会写,请问要怎么写?
2. 统计, 比如我的dateA下,相同的数据ABC有若干个,我想select一个date,数据为统计dateA里有几个ABC.我知道是用count,但是不会写.

请高手指点下...谢谢~
不好意思,是data.那个关系表的table有点多...我做张图吧,我只选了几个我觉得需要用到的table...

create table X(dateA varchar(15),dateB varchar(15)))

select (dateA+dateB)/2
from X

select count(dateA)
from X
where dateA='ABC'
group by dateA

你没有说清楚呀,你应该粘贴一些你的数据,然后自己组合一个你希望的结果,你这样不明不白的只有猜测了:

一、
SELECT dateA, dateB, (dateA+dateB)/2 FROM 表名

二、
SELECT dateA,COUNT(*) FROM 表名 GROUP BY 1

1.select (dataA+dataB)/2 AS data
from table
2.select count(dataA)
from table
where dataA='ABC'
group by dataA

你的DATE(日期)是不是应该是DATA(数据)的意思?

1.SELECT (DATEA+DATEB)/2 FROM TABLE;
或者 SELECT (AVG(DATEA)+AVG(DATEB))/2 FROM TABLE;
这两个有不同,第一个是按你每行的A,B求平均,第二个是按所有行的A,B求平均。

2.SELECT COUNT(DISTINCT DATEA) FROM TABLE;
统计不同值有多少。

两个问题一个一个回答:

一:
dateA、dataB是日期格式吗?如果是日期格式那么比较麻烦,另外,dataA和dataB是两列还是一列里的两行?以后问问题应该把问题的条件尽可能描述清楚。如果是日期格式而且是两列,应该这样写:
select case when dateA < dateB
then dateadd( dy, datediff