GVKun编程网logo

如何解决 Oracle SQL 错误而不是 GROUP BY 表达式(oracle报错不是group by表达式)

1

在本文中,我们将给您介绍关于如何解决OracleSQL错误而不是GROUPBY表达式的详细内容,并且为您解答oracle报错不是groupby表达式的相关问题,此外,我们还将为您提供关于-source

在本文中,我们将给您介绍关于如何解决 Oracle SQL 错误而不是 GROUP BY 表达式的详细内容,并且为您解答oracle报错不是group by表达式的相关问题,此外,我们还将为您提供关于-source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)、.htaccess 配置后显示 500 错误而不是 404、.NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON 解析器错误、2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)的知识。

本文目录一览:

如何解决 Oracle SQL 错误而不是 GROUP BY 表达式(oracle报错不是group by表达式)

如何解决 Oracle SQL 错误而不是 GROUP BY 表达式(oracle报错不是group by表达式)

如何解决如何解决 Oracle SQL 错误而不是 GROUP BY 表达式

目标:我需要在DBP_T_AND_C表中找到属于General的术语类型和ACTIVE的术语状态的最大术语版本,但TERM_VERSION字段实际上是作为字符串存储在数据库中的。

SELECT 
    MAX(TO_BINARY_FLOAT(TERM_VERSION))  
FROM 
    DBP_T_AND_C   
HAVING
    TERM_TYPE = ''GENERAL'' AND TERM_STATUS =''ACTIVE'';

错误:

ORA-00979: not a GROUP BY expression
00979. 00000 -  "not a GROUP BY expression"
*Cause:    
*Action:
Error at Line: 1 Column: 94

解决方法

您尚未提供示例数据或预期输出,因此我们必须猜测您可能真正想要什么。我最好的猜测是您只想使用 where 子句而不是 having 子句。

SELECT MAX(TO_BINARY_FLOAT(TERM_VERSION)) 
  FROM DBP_T_AND_C  
 WHERE TERM_TYPE = ''GENERAL'' 
   AND TERM_STATUS =''ACTIVE'';

如果这不是您想要的,请编辑您的问题以包含示例数据和预期结果。

-source 1.5 中不支持 lambda 表达式   (请使用 -source 8 或更高版本以启用 lambda 表达式)

-source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)

Warning:scala: skipping Scala files without a Scala SDK in module(s) JavaSparkTest

 

Error:(19, 23) java: -source 1.5 中不支持 lambda 表达式
  (请使用 -source 8 或更高版本以启用 lambda 表达式)

.htaccess 配置后显示 500 错误而不是 404

.htaccess 配置后显示 500 错误而不是 404

如何解决.htaccess 配置后显示 500 错误而不是 404

我最近在 .htaccess 文件中添加了以下几行:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\\ /([^\\ ]+)\\.PHP
RewriteRule ^/?(.*)\\.PHP$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME}\\.PHP -f
RewriteRule ^/?(.*)$ /$1.PHP [L]

我想要达到的目标: 对于 PHP 文件:

example.com/abc.PHP should be redirected as example.com/abc
example.com/abc/ should be redirected as example.com/abc
example.com/abc should load as example.com/abc

对于目录,以正常行为加载: 注意:xyz 是一个目录

example.com/xyz should load as example.com/xyz/
example.com/xyz/ should load as example.com/xyz/

问题是如果有人尝试 example.com/abc/bla,它会抛出 500 错误而不是 404。 有人可以帮忙修改上面的 .htaccess 行来解决 500 错误问题吗?

解决方法

经过多次更正后,我解决了这个问题。 这是htaccess的最终代码

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\\ /([^\\ ]+)\\.php
RewriteRule ^/?(.*)\\.php$ /$1 [L,R=301]
#Enforce a no-trailing-slash policy.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# 404 ANY URL WITH ADDITIONAL PATH INFO ##
RewriteCond %{PATH_INFO} .
RewriteRule ^ - [R=404]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]

此代码执行以下操作

example.com/abc.php redirecting as example.com/abc
example.com/abc/ redirecting as example.com/abc
example.com/abc showing as example.com/abc
example.com/abc/nopage redirecting to 404

.NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON 解析器错误

.NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON 解析器错误

如何解决.NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON 解析器错误?

有没有办法获得 DataAnnotation 错误而不是 JSON 解析器错误?

我有一个模型。例如,相关字段是:

[RegularExpression(@"^(?i)(true|false)$",ErrorMessage = "{0} must be either ''true'' or ''false''")]

public bool Isstudent { get; set; }
        
[required]
[StringLength(50)]
[DataType(DataType.Text)]
[RegularExpression(@"^[A-Z]+[a-zA-Z\-]*$",ErrorMessage = "FirstName may only contain letters,numbers and dashes.")]
[display(Name = "First Name")]

public string LastName { get; set; }

[DataType(DataType.Date)]
[displayFormat(DataFormatString = "{0:dd-MM-yyyy}",ApplyFormatInEditMode = true)]
[display(Name = "Date Started")]

public DateTime? DateStarted { get; set; }
@H_301_7@

我的控制器:

[Route("api/[controller]")]
[ApiController]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public class PeopleController : Controller
{
    //Removed for brevity
    
    [Authorize]
    [HttpPost("personupload")]
    [ProducesResponseType(400)]
    [ProducesResponseType(401)]
    [ProducesResponseType(401)]
    public IActionResult CreatePersonBatch([FromBody] IEnumerable<PersonImport> people)
    {
        //I understand this is not necessary
        //Trying to see if it makes a difference. It does not.
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        // Goes on to create data table
    }
}
@H_301_7@

当我用邮递员发送以下内容时,

[
  {
    "LocationId": 0,"RankId": 0,"Isstudent": a,"IsProspect": true,"Isvendor": true,"IsAppUser": true,"FirstName": "string","LastName": "<Student>","BirthDate": "2021-03-14","Gender": "string","UniformTopSize": "string","UniformBottomSize": "string","BeltSize": "string","DateStarted": "Now","DateLastAttended": "2021-03-14","IsHoh": true
  }
]
@H_301_7@

我收到以下回复:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1","title": "One or more validation errors occurred.","status": 400,"traceId": "00-f2bde8fdc701de458f1d86297b7e4813-bdd66281fab85348-00","errors": {
        "$[0].Isstudent": [
            "The JSON value Could not be converted to System.Boolean. Path: $[0].Isstudent | LineNumber: 4 | BytePositionInLine: 20."
        ]
    }
}
@H_301_7@

JSON 解析器似乎为它遇到的第一个错误返回了一条不友好的错误消息。我想像 DataAnnotation 错误一样向 API 用户返回友好(更)错误的列表。我似乎不知道如何抢占 JSON 解析器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)

2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)

 

 

比如说有表devicedata:

问题: 现在我想将devicedata这个表中的数据,先按device_id这个字段分组,然后每组中的数据按时间字段ts从大到小的排列, 如何解决呢?

错误的sql:首先分组,然后order by 排序, select * from devicedata GROUP BY device_id, id ORDER BY ts DESC,

但是这条sql查询得到的结果是:

结果是不仅没排序,而且也没分组。

再尝试一下:用子查询 先用order by将数据排序 然后将结果用group by分组,

select * from (select * from devicedata ORDER BY ts DESC) a GROUP BY a.device_id, a.id

结果:

结果是按device_id分组了, 可是组里面的数据没有按ts字段从大到小的排列,

所这样的sql还是没达到目的, 

最终正确的写法: 接下来正确的来了:select * from devicedata order by device_id, ts desc

结果:

这样就可以达到目的了,没想到吧,

 通过order by device_id, ts desc 我们可以将查询结果先按device_id分组, 再将每一组里面的按照ts字段降序(或升序)排列。

看这条sql你就明白了吧,当然肯定还有其他写法,这只是我这一刻想到的分享出来了, 大家如果有其他做法希望可以与我分享一下。

如有问题,望指教。

 

今天关于如何解决 Oracle SQL 错误而不是 GROUP BY 表达式oracle报错不是group by表达式的分享就到这里,希望大家有所收获,若想了解更多关于-source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)、.htaccess 配置后显示 500 错误而不是 404、.NET 5,ASP.NET Blazor 返回 DataAnnotation 错误而不是 JSON 解析器错误、2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)等相关知识,可以在本站进行查询。

本文标签: