SELECT FTP_USER,ACCOUNT,IP_ADDR,FILENAME,SFNAME,TYPE,MAX(to_date(FTP_DATE || ' ' || FTP_TIME ,'MM/DD/YYYY hh24:mi:ss')),COUNT(1),AVG(FILE_SIZE) FROM SMF471 where (ACCOUNT = 'FTP' or ACCOUNT = 'HINO2') group by FILENAME,SFNAME,TYPE; 这句为什么不对 怎么改
时间: 2023-12-21 10:05:58 浏览: 22
这个查询语句的问题在于它只按 FILENAME、SFNAME 和 TYPE 列进行了分组,而没有包含 FTP_USER、ACCOUNT 和 IP_ADDR 列,因此查询结果将会模糊不清,无法确定每个组的 FTP_USER、ACCOUNT 和 IP_ADDR 值。
如果您想要包含 FTP_USER、ACCOUNT 和 IP_ADDR 字段作为分组依据,可以将查询语句修改为:
```
SELECT FTP_USER, ACCOUNT, IP_ADDR, FILENAME, SFNAME, TYPE, MAX(to_date(FTP_DATE || ' ' || FTP_TIME ,'MM/DD/YYYY hh24:mi:ss')), COUNT(1), AVG(FILE_SIZE)
FROM SMF471
WHERE (ACCOUNT = 'FTP' OR ACCOUNT = 'HINO2')
GROUP BY FTP_USER, ACCOUNT, IP_ADDR, FILENAME, SFNAME, TYPE;
```
这个查询会按 FTP_USER、ACCOUNT、IP_ADDR、FILENAME、SFNAME 和 TYPE 列进行分组,并计算每个组的最大日期时间、行数和文件大小平均值。
相关问题
SELECT FTP_USER,ACCOUNT,IP_ADDR,FILENAME,SFNAME,TYPE,MAX(to_date(FTP_DATE || ' ' || FTP_TIME ,'MM/DD/YYYY hh24:mi:ss')),COUNT(1),AVG(FILE_SIZE) FROM SMF471 where (ACCOUNT = 'FTP' or ACCOUNT = 'HINO2') group by FTP_USER,ACCOUNT,IP_ADDR,FILENAME,SFNAME,TYPE; 修改为只按照FILENAME, SFNAME, TYPE 分组,并检索出FTP_USER,ACCOUNT,IP_ADDR
如果您想要按 FILENAME、SFNAME 和 TYPE 列进行分组,并计算每个组的 FTP_USER、ACCOUNT、IP_ADDR、最大日期时间、行数和文件大小平均值,可以将查询语句修改为:
```
SELECT FTP_USER, ACCOUNT, IP_ADDR, FILENAME, SFNAME, TYPE, MAX(to_date(FTP_DATE || ' ' || FTP_TIME ,'MM/DD/YYYY hh24:mi:ss')), COUNT(1), AVG(FILE_SIZE)
FROM SMF471
WHERE (ACCOUNT = 'FTP' OR ACCOUNT = 'HINO2')
GROUP BY FILENAME, SFNAME, TYPE, FTP_USER, ACCOUNT, IP_ADDR;
```
这个查询会按 FILENAME、SFNAME 和 TYPE 列进行分组,并计算每个组的 FTP_USER、ACCOUNT、IP_ADDR、最大日期时间、行数和文件大小平均值。它选取了 FTP_USER、ACCOUNT、IP_ADDR、FILENAME、SFNAME、TYPE 以及聚合函数,因为在 GROUP BY 子句中使用了这些字段作为分组依据。
怎么查询 FILENAME,SFNAME 最后的 FTP_USER,ACCOUNT,IP_ADDR
若您想查询 FILENAME 和 SFNAME 字段,并以 FTP_USER、ACCOUNT 和 IP_ADDR 作为分组依据,可以修改查询语句为:
```
SELECT FTP_USER, ACCOUNT, IP_ADDR, FILENAME, SFNAME
FROM SMF471
WHERE (ACCOUNT = 'FTP' OR ACCOUNT = 'HINO2')
GROUP BY FTP_USER, ACCOUNT, IP_ADDR, FILENAME, SFNAME;
```
这个查询会返回 FTP_USER、ACCOUNT、IP_ADDR、FILENAME 和 SFNAME 字段,并按 FTP_USER、ACCOUNT、IP_ADDR、FILENAME 和 SFNAME 列进行分组。