对于每个用户,我希望生成一个聚合结果。但是,我一直遇到子查询返回超过1个结果的问题。
SELECT **[user]**,
((SELECT SUM(amount)
FROM transactions
WHERE [user] = **[user]**
AND [type] = 'credit' ) -
(SELECT SUM(amount)
FROM transactions
WHERE [user] = **[user]**
今天我的问题是,我有2列,我希望检查这些列的和是否不大于某个值(例如485),如果是,则执行查询……
我想做的是
SELECT * FROM table WHERE ColumnA + ColumnB < 485
但它不起作用。我已经试过了
SELECT Sum(ColumnA) + Sum(ColumnB) AS Total FROM table
但它给了我一列所有行的总和,我想要每一行总和都有一行。那么我该怎么做呢?xD,我希望你能理解,如果不是要求我试着更好地解释它!并提前感谢那些愿意帮助我的人!
编辑:我发现XD的问题是列很小,1行或更多行的结果超过32k,所以它不工作!谢谢大家
在前面的问题中,我已经成功地使用Microsoft SQL Server并将excel文件导入到新的数据库中。现在,我的问题是如何编写正确的sql命令。我尝试使用不同的标准对表中的同一列进行两次求和,然后将这些数字输入到不同的表中。我知道如何向表中插入一个和,但我想知道如何将来自同一列的两个和同时插入到表的同一行中(因为每次插入时,都会创建一个新行)。
附加问题:我应该如何组织我的结果依赖于第三个表中的值?示例数据如下所示。
以下是一些示例数据:
DeptID Department
15 Eng
16 Eng
17 Mkt
18
我有一张名为EventLog的桌子像这样:
我想显示每个deviceId的每个事件类型的计数如下:
最后,只显示type3计数和type4计数不同的设备:
我知道我需要使用COUNT和GROUP BY,可能还需要一个嵌套的SELECT
我试过:
SELECT
deviceId,
MIN(eventType) AS [Type3],
MAX(eventType) AS [Type4]
FROM
EventLog
WHERE
eventType IN (3,4)
GROUP BY
deviceId;
但这只是返回每个deviceID
我有以下问题: SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-03' AND '2018-07-08'
SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-09' AND '2018-07-14' 我希望在一个查询中返回两组结果,最好是带有描述性名称的列。这是我的尝试,但它没有像预期的那样工作,我得到一个语法错误(错误代码1064): SELECT
(S
SELECT
Account,
CASE WHEN Type = 1 THEN SUM(Amount) END AS Type1_tot,
CASE WHEN Type = 2 THEN SUM(Amount) END AS Type2_tot
FROM Table
错误选择的非聚合值必须是关联组的一部分。
请在下面找到一份数据表和预期结果:
下面是sql,我想在window函数中添加一个filter子句。这个是可能的吗?
select ROUND(SUM(M.CHRG_RATE/M.CONTRACTUAL_RATE) OVER
(PARTITION BY M.PROGRAM),0) AS BILLED_MEMBERS_PER_MONTH2
from tableA
where 1=1
我在想我能把案子的陈述包起来吗?
类似于:
这里提出的问题的第二部分-
我的SQL表中有以下数据。想象一下,有更多的行跨越了几年的数据。
uid user category count date
--------------------------------------------------
1 henry RED 4 2013-04-01
2 john BLUE 3 2013-04-11
4 eric GREEN 2 2013-04-22
3 alice RED
我被一个SQL查询卡住了,在这个查询中,我需要计算字段中不同值的数量。
我的问题是:
SELECT
Area
, (SELECT count(TestResult) FROM TestRun WHERE TestResult = 'PASS' AND TestRun.CreatedDate > '2019-11-18 01:00:00') as [Passed]
, (SELECT count(TestResult) FROM TestRun WHERE TestResult = 'FAIL' AND T
我想创建一个结果,列出昨天添加到数据库中的所有客户端,然后为同一组客户端创建一个单独的列,但只列出那些没有电子邮件地址的客户端,这样我们就可以看到哪个CSR代表没有添加电子邮件地址,我在编写计数的子查询时遇到了问题。下面是我的代码,它使用两个表的客户和联系他们加入在ACCT_NO字段
我正在使用SQL Server Management Studio
select
count(distinct c.acct_no) as Total, ADDED_BY
from
client c
inner join
(select
count(distin
假设我有这样的东西:
MySQL表
Date | Name | Val
22/11 | a | 1
22/11 | b | 2
22/11 | a | 3
22/11 | a | 4
23/11 | b | 1
23/11 | a | 2
23/11 | a | 3
23/11 | a | 5
我需要在一列上查询当Name = 'a‘时,每天的值之和,以及所有值之和的另一列(对
当index列为distinct时,如何对一列中的值求和?
最初,我有这样一个SQL查询:
SELECT COALESCE(SUM(ISNULL(cast(Quantity as int),0)),0) AS QuantitySum FROM Records
我也尝试过这样做,但当一些量值恰好相同时,这是不正确的:
SELECT COALESCE(SUM(DISTINCT ISNULL(cast(Quantity as int),0)),0) AS QuantitySum FROM Records
如何修复此查询,使其仅对索引值不同的记录数量求和?
表格示例:
Index Quantit
我的数据库中有一个简单的日志表。对于每个页面访问,都会插入一行。现在我想总结一下今天和昨天的某个专栏。
我尝试了以下查询:
SELECT Sum(CASE
WHEN `time` > 1364767200 THEN `sqlquerycount`
end) AS `today`,
Sum(CASE
WHEN `time` BETWEEN 1364684400 AND 1364767200 THEN `sqlquerycount`
end) AS `yesterday`
以下是我提到的表格:
其中Val列具有3个不同的值a、b& c。
ID Val
1 a
1 a
1 b
2 b
2 c
2 c
3 c
我希望获得唯一I的计数和相应Val值(即a、b& c)的I计数。
我使用这样的查询,但它帮助我一次识别单个Val值的计数。
SELECT ID,COUNT(*)
FROM table1
WHERE Val='c' GROUP BY ID;
所需产出:
ID count a b c
1 3 2
我需要在sqlserver表中添加一个计算字段,以显示表中的其他字段是空的还是满的(全部、部分或无) 该字段应包含: 0=all the fields are empty(null)
1=almost one field has been filled
2=all fields contains something 实现这一目标最有效的方法是什么?
我想知道如何根据SSRS中设置的年份参数来计算某个计数的总计。当选择一个确定的年份时,所有前几年的以前的计数将与当前计数相加。之前我在我的存储过程中使用了@year参数,它在SSRS中有效,但这次我想尝试硬编码,然后在SSRS中只有一个year参数。
下面是我目前正在使用的代码示例:
select
sum(MITotal.Count) as 'Yearly Count',
year(c_date) as 'year'
from
(select
count(*) as Count,
pol1.C_STATE,
month(pol1.c
当我选择数据时,只显示第一个lot数据。但我需要所有的lot数据。以下是我的疑问:
SELECT lot,
(select count(pass) FROM pass_fail_result where pass=0) toatl_fail,
(select count(pass) FROM pass_fail_result where pass=1) toatl_pass FROM pass_fail_result group by lot;
我想显示所有的传递结果,比如pass=10和fail=2
我一直试图从数据库中提取一些数据并生成正确的输出。下面是我要找的东西
id | ref_no | Order time | discount code | total | items | donations
到目前为止,这是我的SQL查询:
SELECT
order.id,
order.ref_no,
order.cdate AS "Order time",
order.promocode AS "discount code",
order.orig_total as "total",
GROUP_CONCAT
SELECT d_main.Type,ItemGrade,ItmName,d_sub.ItmCode,
(CASE WHEN d_sub.FulItmCode=item.ItmCode and d_main.Type='E'
THEN sum(d_sub.Qty) ELSE 0 END) as f1,
(CASE WHEN d_sub.FulItmCode=item.ItmCode and d_main.Type='L'
THEN sum(d_sub.Qty) ELSE 0
我试图简化一个基于case语句创建唯一变量的SQL程序。例如,假设我有一个数据集,如下所示:
Salesperson Invoice ItemCount Sales Type
Joe 1111 100 500.00 internet
Joe 2222 50 200.00 internet
Joe 3333 200 750.00 store
Cthulhu 4444 10 50.00 internet
我需要补充字符串二进制文件。
st=br.readLine() //I used readline to read string line
byte[] bytesy = st.getBytes(); //and put it to bytes array.
现在,我如何补足字节的二进制等价物(或者如何将其异或为11111111)?
预期输出:
如果st的第一个字符是x,则二进制等价字符是01111000
和输出必须是10000111通过补码(或异或到11111111)
我有一个派生表,如下例所示: {select * from tb_data} ? 我希望结果有和额外的求和列,捕获是我需要求和列来重置工作值,如果信息列值=‘重置’。 {select *,(我假设sum(number) over (partition by id order by desc))上有一些变化作为来自tb_data的求和} 下面是输出应该是什么样子: ? 实际的派生表包含数千个id,这就是为什么它需要按id分区,并按日期desc排序,并且每个id都有不同数量的重置点。 什么样的SQL查询可以得到我需要的输出?
我正在尝试使用Case和Sum一起运行oracle查询,它给我一个错误,说我缺少正确的括号。 下面的查询, SELECT c.Customer_name,
CASE WHEN SUM(status = 'DELIVERED') = count(*) THEN 'A'
WHEN SUM(status = 'DELIVERED') > 0 THEN 'B'
WHEN SUM(status = 'SUBMITTED') > 0 THEN
我在这件事上已经苦苦挣扎了三天,希望有人能帮上忙。
我有一组数据,我需要做一些旋转,但不能完全弄清楚语法。
样本数据集:
Employee LastName FirstName Status Location GroupBU DeductionDesc Active Field Value
-----------------------------------------------------------------------------------------------------------------