我有一个数据库,根据学生是否参加活动来跟踪他们的社区服务时间。关系是正确建立的,但是我遇到问题的地方是聚合查询。
这就是我想要做的逻辑:
if(ActivityAttendance.Attended) == 1
Affiliates.completedHours += Activities.creditHours
(This is just supposed to be more of a pseudo code)
ACTIVITYATTENDANCE是表的名称,该表拥有已参加的“是/否”字段。CompletedHours是联属表中的一个字段。
我试图找到一个解决方案,但似乎我能在网上
我正在学习SQL,这一课就是子查询。我的问题是:
select sum (select tientra from thang7_8714 where tientra > 0) as tmp;
但Postgres注意到了我的信息:
ERROR: syntax error at or near "select" LINE 1: select sum (select
tientra from thang7_8714 where tientra > ...
SQL state: 42601 Character: 13
我知道我可以在没有子查询的情况下得到结果,但我
我尝试使用以下SQL语句查询:
SELECT COUNT(status) as tot,
CASE WHEN (status = 'pending')
THEN COUNT(status) ELSE 0 END pct,
CASE WHEN (status = 'rejected')
THEN COUNT(status) ELSE 0 END rct,
CASE WHEN (status = 'active')
THEN COUNT(status) ELSE 0
SELECT dbo.items.NAME,
CONVERT(VARCHAR(20), dbo.warehouse.date, 101)AS Date,
Sum (dbo.warehouse.debit) AS Quantity
FROM dbo.warehouse
INNER JOIN dbo.items
ON dbo.warehouse.businessunitid = dbo.items.businessunitid
AND d
根据
CASE表达式不计算任何不需要用于确定结果的子表达式。例如,这是避免零除法失败的一种可能方法:
选择。当x为x <> 0时,y/x > 1.5,否则为假尾;
为什么下面的表达式返回一个ERROR: division by zero? --显然是计算了其他部分:
SELECT CASE WHEN SUM(0) = 0 THEN 42 ELSE 43 / 0 END
而
SELECT CASE WHEN SUM(0) = 0 THEN 42 ELSE 43 END
返回42。
编辑:所以上面的例子失败了,因为Postgres计算了已经处于计划阶段的不变值(43/0)
我有一个数据库与库存,包含文章编号和库存的变化。我想要一个查询,将有列文章编号,总和(一周前的变化),总和(2周前的变化),总和(3周前的变化)等。
我有一个可以包含一个总和的查询,但如何在同一查询中获得多个总和?我试过了,但总是以错误的结果告终。有谁有解决方案吗?
查询:
SELECT Article, ROUND(SUM ("Changes" ),0) AS Usage01
FROM "Stock"
WHERE "Date" BETWEEN (REPLACE ((CONVERT ((CURDATE ()-14),SQL_CHAR )),
在SQL上,我有一个数据透视表,如: col1 col2 col3
A 0 90
A 1 10
B 0 80
B 1 20 我想要有以下几点: col1 ratio
A 90%
B 80% 我想到的唯一方法是计算每个col1值的1和0的和。然后将1的数量除以总计数,但这需要额外的子查询。也许有另一种选择呢?
有没有人可以建议如何编写一个SQL查询来包含多行中多个字段的总和。我使用的是下面的查询,但是它总是说“select行中的字段是无效的,因为它既没有包含在聚合函数中,也没有包含在GROUP BY子句中。”
Select ClaimId,InternalICN,BilledAmt,
Sum(PayAmt) as TotPayAmt,Sum(COBAmt) as TotCOBAmt,Sum(PrePayAmt) as
TotPrePayAmt
from CAIDEnc.IntEncTracking.EncounterList
我有一张桌子想要查询。查询应该包括两个子查询,因此我认为需要一个连接操作,但我不确定。我的桌子是这样的:
Region Product Status Date
Region 1 A Inventory 7/20/2016
Region 2 A Development 7/1/2016
Region 2 B Inventory 7/4/2016
Region 2 B Inventory 7/9/2016
Region 3 B Development 7/8/2016
Regio
我想要做的是在单个查询中从同一个表中运行子查询。我的SQL如下: SELECT
DATEPART(DAY, dateTimeCreated) AS DateClicked,
COUNT(*) AS NumClicks
FROM [dbo].[tbl_clicks]
WHERE 0 = 0
AND DATEPART(MONTH, dateTimeCreated) = 'GIVEN MONTH'
AND DATEPART(YEAR, dateTimeCreated) = 'GIVEN
下面是用于创建支点表的SQL。我需要用'0‘替换null值,但是,当我试图在支点内使用case表达式时会出现一个错误。这不可能吗?
SELECT *
FROM
(
SELECT c.CompanyName, p.ProductName, od.Quantity
FROM Customers as c INNER JOIN
Orders as o ON c.CustomerID = o.CustomerID INNER JOIN
[Order Details] as od ON o.OrderID = od.OrderID INNER JOIN
Pr
我正在思考,如果有离开,我可以使用一个SQL查询从不同的列计数不同的值。
我正在我的网站上制作图表,我希望它在我想要使用的行中不算值
$sql="SELECT incident.ppe, incident.induction, incident.actions, incident.ssops
FROM incident WHERE ppe = 'No' OR induction = 'No' OR actions = 'No' OR ssops = 'No'
我知道像这样的配置单元SQL查询:
SELECT users, users > 0 AS have_user
FROM (
SELECT SUM(user) AS users
FROM sometable
GROUP BY something
);
将创建一个单独的map reduce作业,这很好。但是,我希望在代码中避免过多的子查询。例如:
SELECT SUM(user) AS user, SUM(user) > 0 AS have_user
FROM sometable
GROUP BY something;
在上面的代码中,Hive会计算一次还是两次总和?
我有一个查询,如果另外两个列上的datediff小于值,则对一个列进行求和,但我不想按计算中的列分组。有人能告诉我做这件事的最好方法吗?我想到了嵌套查询或使用枢轴,但都没有给出我想要的。下面是sql:
SELECT
Col7,
Col8,
Case when datediff (dd,col3,col4) < 30 then Sum(Col2) ELSE 0 END as [30days],
Case when datediff (dd,col3,col4) < 60 then Sum(Col2) ELSE 0 END as [60days]
我有一个这样的数据库:第一列是城市的名称。A、B和C是具有二进制数据的列1表示是,0表示否。 (数据库名称- D1) City A B C
---- ------------ ----------- --------
Boston 1 1 1
Chicago 1 0 0
Boston 1 0 0
Boston
我想在java中执行这个sql查询,以获得弹性搜索数据-
select mime_type,count(*),sum(original_size)
from explore_object_metadata
group by mime_type;
我能够从弹性搜索中获得以下sql查询的数据-
select mimetype,count(*)
from table
group by mimetype
下面的链接- 中的代码
我是怎么得到这个的。
我有Oracle SQL查询。结果我得到了这样的结果:
CODE || VALUE
I || 10
II || 30
III || 50
IV || -20
V || 60
VII || -45
VIII || 0
IX || 100
X || 0
接下来,我希望代码=X创建格式如下:
案例1:
SUM OF I,II,III,IV,V,IX
案例2:
I+II+III-IV-V+IX
如何在sql查询中实现这些格式?
我正在处理一个看起来类似于以下内容的数据集:
Name Value
Unit 1 0
Unit 1 27
Unit 1 30
Unit 1 10
Unit 1 4
Unit 1 0
Unit 2 0
Unit 2 0
Unit 2 29
Unit 2 0
Unit 3 10
诸若此类。我想创建一个查询,该查询列出以下记录:
Name ZeroRecords
Unit
下面是我的SQL查询 select
case when x < 2 then a
when x = 0 then Max(a) end a
,case when x < 2 then b
when x = 0 then Sum(b) end b
from T 我们该怎么做呢?我正在使用Union来获得所需的结果。寻找一种更好的方法来做到这一点。
我有一个包含两个列( A和B )的表,第一列是标记,第二列是数量。我试图用两列编写一个查询,一列总结负值,另一列总结正值。
来自SQL,我尝试了以下几点
=QUERY(A1:B100,
"SELECT A, SUM( B * IF(B>0, 0, 1) ),
SUM( B * IF(B<0, 0, 1) ) GROUP BY A ")
但是,在查询中似乎不支持IF函数。我知道我可以在我的工作表中创建两个中间列(一个用于正值,另一个用于负值),但我想知道是否有可能通过查询实现我想要的结果,还是不使用中间列。