所以..我试图按月显示记录。
例如,
x=[]
y1=[]
r1=len(df)
L1=len(df.columns)
for i in range(r1):
ll=(df.loc[i,'LL'])
ul=(df.loc[i,'UL'])
count1 =0
for j in range(5,L1):
if isinstance(df.iloc[i,j],str):
df.loc[i,j]=0
if ll<=df.iloc[i,j]<=ul:
count1=count1+1
if count1==(L1-5):
x.append('Pass')
else:
x.append('Fail')
y1.append(count1)
se = pd.Series(x)
se1=pd.Series(y1)
df['Min']=min1.values
df['Mean']=mean1.values
df['Median']=median1.values
df['Max']=max1.values
df['Pass Count']=se1.values
df['Result']=se.values
min1 = df.iloc[:,5:].min(axis=1)
mean1=df.iloc[:,5:].astype(float).mean(axis=1,skipna = True)
median1=df.iloc[:,5:].astype(float).median(axis=1,skipna = True)
max1=df.iloc[:,5:].max(axis=1)
count1=df.iloc[:,5:].count(axis=1)
yield1=[]
for i in range(len(se1)):
yd1=(se1[i]/(L1-3))*100
yield1.append(yd1)
se2=pd.Series(yield1)
df['Yield']=se2.values
df1=df.loc[:,['PARAMETER','Min','Mean','Median','Max','Result','Pass Count','Yield']]
df1
这将显示这些日期范围之间的x计数,但是如果我将其显示为2列,例如第一列显示月份,第二列显示X并逐月显示。因此结果将如下所示。这在sql中可行吗?
select X, Y, Z, (X + Y + Z) as total
from (
select
(select count(x) from table1 a, table2 b where date between '2020-01-01' and '2020-05-01') as X,
(select count(y) from table3 a, table4 b where date between '2020-01-01' and '2020-05-01') as Y,
(select count(z) from table5 a, table6 b where date between '2020-01-01' and '2020-05-01') as Z
from dual
);
答案 0 :(得分:1)
如果您希望能够按月按时间顺序排序,并且假设pdate是实际的日期数据类型,则需要按顺序将其以数字格式包括在内。像这样:
select to_char(pdate,'Month') month,
count(*)
from TableA
where pdate between to_date('2019-01-01','YYYY-MM-DD')
and to_date('2020-08-31','YYYY-MM-DD')
group by to_char(pdate,'Month')
order by to_char(pdate,'MM');
答案 1 :(得分:0)
您只需要按月分组
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Bad Request: /api/upload-lecture/
[17/Aug/2020 04:56:44] "POST /api/upload-lecture/ HTTP/1.1" 400 128016
答案 2 :(得分:0)
Select
To_char(trunc(pdate, 'mm' ), 'month' ), count(X)
From TableA
Group by trunc(pdate, 'mm' )
Order by trunc(pdate, 'mm' )
答案 3 :(得分:0)
将日期转换为必需的显示格式“月”,但按日期排序
我假设您不在乎与记录关联的年份,所以我将日期转换为与记录的月份关联的字符串。
接下来,我按记录的月份进行汇总,并通过将记录的月份转换回日期的方式进行排序,如下所示:
--sample data---------------
WITH smple ( record_month ) AS (
SELECT
to_char(last_ddl_time, 'Month') record_month
FROM
all_objects
)
--end sample data-----------
SELECT
record_month,
COUNT(1)
FROM
smple
GROUP BY
record_month
ORDER BY
to_date(record_month || '-01-2020', 'MONTH-DD-YYYY') ASC;