当前位置: 首页 > 知识库问答 >
问题:

QueryDSL生成选择计数查询

刘选
2023-03-14

我想使用QueryDSL库构建select count查询,如下所示:

从表1中选择计数(1)

我创建了下一个代码:

SQLTemplates sqlTemplates = builder.printSchema().build();
Configuration configuration = new Configuration(sqlTemplates);
Path table = new RelationalPathBase(Object.class, "alias", "hr", "table1");
StringPath[] columnsPath = new StringPath[1];
columnsPath[0] = Expressions.stringPath(table, "field1");
SQLQuery sqlQuery = new SQLQuery(dataSource.getConnection(), configuration)
                .from(table);
sqlQuery.setUseLiterals(true);
String selectStatement = sqlQuery.getSQL(columnsPath).getSQL();

由于结果selectStatement是Next:

select alias.field1 from hr.table1 alias

能否请一些人建议如何重写上面的代码

select count(alias.field1) from hr.table1 alias

共有1个答案

王楚青
2023-03-14

将最后一行替换为

String selectStatement = sqlQuery.getSQL(columnsPath[0].count()).getSQL();
 类似资料:
  • 问题内容: 我有一个Oracle表,其中包含一组范围(RangeA和RangeB)。这些列是varchar,因为它们可以同时容纳数字和字母数字值,如以下示例所示: 我需要执行一个查询,该查询仅返回具有数值的记录,并对该查询执行Count。到目前为止,我已经尝试过使用两个不同的查询来做到这一点,但没有任何运气: 查询1: 查询2: 子查询工作正常,因为我得到的两个记录都只有数字值,但是查询的COUN

  • 我有一个名为TEST的表,列名为col1、col2、col3、col4。。。。。。。。。。所以,从信息模式来看。列我将获得有关此表对象的详细信息。 现在,我想通过从信息_模式中提供列名称,从测试表中构建一个select查询。柱。像这样,从information_schema中选择column_name。表_name='TEST'中的列。这会回来的 col1 col2 col3 我想在selectq

  • 我正在使用Laravels查询生成器检索带有一些筛选选项的项目列表-我需要在此查询中进行计数: 计算“Freestyle ID”在likes表中出现的次数。 这有可能吗?返回的数据是完美的,我只需要一个自由泳的喜欢量,其中喜欢表中的自由泳ID为空。

  • 问题内容: 我有一个关于MYSQL中的选择查询的问题 我有两个不同的表,我想获得一定的结果 我使用了COUNT方法,该方法只给我结果(> = 1) 但实际上,我想使用包含零的所有计数怎么做? 我的查询是: 第一张桌子:Content_hits 第二张表:Content_tag 结果但不完整 例如:tag_id = 1的Subsrciber6应该具有count(*)= 0 问题答案: 现在,您已经进

  • 问题内容: 我正在尝试从以下查询中获取行数。我只得到行计数为1,但有35条记录。您能否让我知道如何从内部查询中获取计数? 谢谢 问题答案: 您缺少FROM,需要为子查询指定别名。

  • 如何使用Laravel的查询生成器进行此类选择: 部分很容易与,并且部分很容易与,但是我如何使? 结果,和现在可以用于排序:首先,如果所有3个扇区匹配,比如果扇区1和2匹配,比如果扇区1和3匹配,等等。 是来自用户输入的1个或多个扇区。它们必须被转义和插入等,就像一个会。 但是怎么做呢? 只有一点帮助,因为它不会将数组扩展为多个占位符。这就是我现在拥有的,但不可能是这样: 我必须自己展开占位符吗?