我在一个数据库表(A至E列)中有以下数据。我需要一个查询来显示相同的列(A到E),增加两个额外的列。
在Excel中,我使用了以下公式来完成此操作,但我无法使用查询(Server)来完成该操作:
=SI(CONTAR.SI(C$2:C2;C2)=1;1;0)
=(CONTAR.SI.CONJUNTO(C$2:C2;C2;$D$2:D2;D2)=1)*1
A ----- B ----- C ----- D ----- E ----- COUNT (DISTINCT C) ----- COUNT (DISTINCT C&D)
1 ----- 26 -- 4650 ---- 1 ----
我有两个几乎相同的查询在两个不同的表中操作基本上相同的字段。第一个查询可以工作,如下所示:
TRANSFORM Count(PA_20110126.Account) AS CountOfAccount
SELECT PA_20110126.BuildingSegment, PA_20110126.BuildingGroup
FROM PA_20110126
GROUP BY PA_20110126.BuildingSegment, PA_20110126.BuildingGroup
ORDER BY
Switch([PA_20110126].[BuildingSegment]='
ID Sum Name
a 10 Joe
a 8 Mary
b 21 Kate
b 110 Casey
b 67 Pierce
您建议为每个ID获取与最大和(按ID分组)对应的名称的最佳方法是什么。到目前为止我尝试过的是:
select ID, SUM(Sum) s, Name
from Table1
group by ID, Name
Order by SUM(Sum) DESC;
这将把记录排列为先有最高金额的组。那我就得标记那些记录而只保留那些。有窍门或指点吗?非常感谢
最后,我想得到:
a 10 Joe
b 110 Casey
我有一个包含两个列的链接表,用户组(用户int,组int)包含大约100亿行。每一列都有一亿个独特的值。在这两个字段上都创建索引。我必须找到用户数最多的组,它们属于指定的组。
我的疑问是
select group_id, count(*) as cnt
from usergroups GM
join (select user_id from usergroups where group_id=74437 LIMIT 100) G
on (GM.user_id=G.user_id)
group by group_id
having cnt > 10
o
我正在尝试编写一个查询,该查询根据另一列的x和y行值返回所选列的行。
但是下面的查询将返回两个选定列的所有行,即使我已经指定了一个范围。有人能告诉我我做错了什么吗?
select username, password
from loginuser
group by username, password
having count(id) between '1' and '2'
我有一个视图(这是几个表的结合),我需要过滤掉重复的表。这张桌子是这样的:
id first last logo email entered
1 joe smith i.jpg e@m.c 2014-01-27
2 jim smith b.jpg e@j.c 2014-01-27
3 bob smith z.jpg b@b.c 2014-01-27
9 joeseph smith q.gif e@m.c 2014-01-20
我有一个包含identity primary key id、CNum、CUID和其他列的表。我想要基于CNum和CUID选择不同的记录,换句话说,如果两个记录具有相同的CNum和CUID,我想得到最上面的记录,我试着按其分组,但是它不会工作,因为希望整个行。
with a as (SELECT distinct CNum, CUID
FROM Con)
select c.CNum from Con c inner join
a on a.CNum = c.CNum
and a.CUID= c.CUID
order by id
这种方法仍然得到重复的记录。
有人知道怎么解决这个问题吗?
我正在创建一个SSIS包,它执行存储过程,并将其结果存储为目标数据库中的表FinancialStatementIds。该表已存在于目标数据库中。我需要对目标表进行分区,并为此编写了一个脚本。
我正在获取过去五年的信息,并根据年份存储每个分区。因此,我已经创建了5个分区,它排除了主分区,并且分区被设置为列周期日期,这是一个datetime字段。你能确认一下它是正确的吗?我需要在分区表中添加其他列吗?
我还想知道脚本如何知道它必须对FinancialStatementIds表进行分区。
基座表
USE CoreReferenceStaging;
GO
-- Adds four n
我有一个窗口函数,如下所示:
SUM(value) OVER (
PARTITION BY product, service, site
ORDER BY region, site, service, product, year, week ASC
ROWS BETWEEN 12 PRECEDING AND 0 PRECEDING
) AS value
查询工作正常,但我想了解更多的窗口函数,我有两个问题:
是否将分区列按产品、服务、站点进行排序?,我需要从order BY子句的第1点指定列还是可以省略它们?
尝试为MySQL 5.5 (InnoDB)表实现分区策略,但我不确定我的理解是否正确,或者在创建分区时是否需要更改语法。
表"Apple“具有10个磨机rows...Columns "A”到"H“PK是列"A”、"B“和"C”。
列"A“是一个字符列,可以标识200万行的组。我认为列"A“将是尝试实现分区的一个很好的候选者,因为我按该列进行选择和删除,并且在不再需要数据时实际上可以截断该分区。
我发出了这个命令: ALTER TABLE Apple PARTITION BY KEY (A);
使用以下命令查看分区信息后:从INFO
我的印象是,如果要在某一列上执行COUNT(DISTINCT xyz),它将等于对该列的GROUP BY的常规计数。
但是,当我在BigQuery中的一个非常大的数据集上这样做时,在完全相同的条件下,结果会显示出很大的差异:
Query Type Count
----------------------------------
- count(distinct ColX) > 7 million
- count(ColX)
... GROUP BY ColX ~ 6.5 million
为什么会这样呢?我认为在列中计算唯一值的这两个不同版本应该返
我有一个疑问如下..。
select *
from (select COL1, COL2, COL3,
ROW_NUMBER() OVER (PARTITION BY COL2,COL3 ORDER BY COL2,COL3) AS rn
from TABLE
) t
where rn = 1
返回预期的结果。当我修改外部select以显式请求列时,没有行号列,因此.
select COL1, COL2, COL3 from
from (select COL1, COL2, COL3,
ROW_NUMBER()
我有一个样本数据,在这里我要计算丢失的值。数据丢失的行由blank表示。这是样本数据-
val my_df = spark.sql(s"""
select 1 as id, 1 as time_gmt, 'a' as pagename
union
select 1 as id, 2 as time_gmt, 'b' as pagename
union
select 1 as id, 3 as time_gmt, 'blank' as pagename
union
select 1 as id, 4 as time_gmt,
我正在尝试选择表top_teams_team中的所有列,并获取hash_value列的值计数。这里的sql语句部分起作用,因为它返回两个列,hash_value和total。我仍然希望它能给我表中所有的列。
select hash_value, count(hash_value) as total
from top_teams_team
group by hash_value
在下面的sql语句中,它给出了所有的列,但是显示的是重复的hash_value,这不是我想要的。我试着把distinct关键字放进去,但是它没有正常工作,或者我没有把它放在正确的位置。
select *
from top