我的表数据:
id fieldId Name Text
---- ------ ----- ----
1 101 name1 a1
2 102 name2 a2
3 101 name1 a1
4 103 name3 a2
5 102 name2 a3
6 101 name1 c1
7 101 name1 a3
8 102 name2
9 101 name1 b2
10 103 name3 c1
我需要像这样的输出
Name Count(fieldId) Count_id_text_is_either_a1_or_a2_a3
------ ------ -------
name1 4 2
name2 3 2
name3 2 1
Name
=我需要按fieldId分组。 Count(fieldId)
=计算每组记录。Count_id_text_is_either_a1_or_a2_a3
=这是我仅在需要分组记录数时才需要的列Text like 'a1-%' or 'a2-%' or 'a3-%'
。可以通过单个查询完成吗?如果是,请说明如何?如果否,那么最有效的方法是什么?
select Name,
count(*) as CountAll,
count(case when Text like 'a1-%' or Text like 'a2-%' or Text like 'a3-%' then 1 end) as CountA1A2A3
from MyTable
group by Name
如果愿意,也可以使用RegEx。
我在代码中使用条件查询。它总是激发 相反,我想忽略查询中的一列(字段),因为该字段以字节形式存储了大量数据。导致性能问题。 有谁能给出一个主意吗? 一些更新 我在查询中添加了一个投影,它创建了一个类似... 现在问题就像..中的未知列“y4_”以及y8_和y5_的相同错误意味着关闭它给出错误的所有内容。 我把它修改成像... 而且奏效了。但是不知道在HQL里面怎么修改?
问题内容: 我在代码中使用了条件查询。它总是会开火 相反,我想忽略查询中的一列(字段),因为该字段以字节为单位存储大量数据。这会导致性能问题。 有人可以对此提出想法吗? 一些更新 我在查询中添加了一个投影,它创建了一个查询,例如… 现在的问题就像.. 和y8_的相同错误,y5_表示所有接近它给出错误的地方。 我将其修改为Query … 而且有效。但是我不知道如何在HQL中对其进行修改? 问题答案:
问题内容: 假设我有一个名为“ Company”的表,其中包含CompanyID关键字。还有另一个名为“ CompanyAddress”的相关表,该表具有CompanyID外键,因此可以轻松地建立联接。 该CompanyAddress表可以具有给定公司的多个地址,例如AddressType = 1或AddressType = 2 用于获取字段的联接等是微不足道的,但是我需要一个条件,在该条件下查询
在“SQL”图表,你可以分析查询并确定查询速度慢的原因。 若要深入查看特定查询,请点击图例标签或双击图表上的条形段。你可以了解查询过去的执行情况,并在单个画面中查看所有相关的故障排除信息。点击选项卡以显示与查询有关的更多图表。 分析图表 选择“分析”选项卡,然后向下滚动页面以查看分析图表。将鼠标悬停在其中一个图表上的某个点上,会自动弹出带有垂直线的工具提示值。
问题内容: 如果我有一个看起来像这样的表: 还有一个THINGS表,如下所示: 我正在尝试提出一个纯SQL查询,该查询可以让我找出什么可以访问什么。基本上,我想要一个看起来像这样的查询: 并返回“ John”和“ Mary”。关键是访问事物所需的许可数量是任意的。 我觉得这应该很明显,但是我无法提出一个优雅的解决方案。首选与Oracle兼容的解决方案。 编辑: Kosta和JBrooks的解决方案
在一个日期列中有一个表,在同一个日期的不同时间有这么多总计的条目,但我不担心时间。我需要找到某些日期所有总额,随着用户名。当我使用下面的查询。它显示语法错误 选择用户名,总额,从账单日期='2013-04-12' 在上面的查询日期是列名,请帮我。