我有一个派生表,如下例所示: {select * from tb_data} ? 我希望结果有和额外的求和列,捕获是我需要求和列来重置工作值,如果信息列值=‘重置’。 {select *,(我假设sum(number) over (partition by id order by desc))上有一些变化作为来自tb_data的求和} 下面是输出应该是什么样子: ? 实际的派生表包含数千个id,这就是为什么它需要按id分区,并按日期desc排序,并且每个id都有不同数量的重置点。 什么样的SQL查询可以得到我需要的输出?
我需要得到每一行的总和,但我不能接受该行的别名,因为它会产生错误。如何获取以下语句中行的sum()。
select sum(Amount) as [Amount total],
sum(balance) as [Balance Total],
sum(Remaining) as [Remaining Total]
from MyTable
我想做一些像这样的事情
select sum(Amount) as [Amount total],
sum(balance) as [Balance Total],
sum(Remaining) as
我想总结一列,但基于不同的交易类型,并将这些金额仅显示在一行中。
我的SQL (SQL Server 2000)如下所示:
SELECT c.customername,
CASE WHEN t.transactiontypekey IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19) THEN SUM(t.tranamount) ELSE 0 END as 'Tot-Exp',
CASE WHEN t.transactiontypekey IN (20,21,22,23,30,32,34,36) T
我正在尝试使用诸如sum和count over partition之类的分析函数从oracle表生成XML。使用以下查询:
SELECT XMLElement("DEPARTMENT",
XMLAttributes((sum(amount) OVER (PARTITION BY deptid)) AS dept_sum,
(count(*) OVER (PARTITION BY deptid)) AS dept_count),
XMLAgg(
我希望将具有特定值的行和为特定列。早些时候我做了这样的事:
SELECT date AS 'Date',
sum(CASE license_id WHEN 'a' THEN data.Amount ELSE 0 END) AS 'a',
sum(CASE license_id WHEN 'b' THEN data.Amount ELSE 0 END) AS 'b',
sum(
CASE lice
我有这样的查询,例如
select
case
when userid is not null then '"A"'
when userid is null then '""'
end
as H
from tableName
我想要发生的是,我希望字母H随附双引号在csv。我已经试过了
'"'||H||'"' //didn't work
也试过
"H" //didn't work
也试过
"""||H|
今天我的问题是,我有2列,我希望检查这些列的和是否不大于某个值(例如485),如果是,则执行查询……
我想做的是
SELECT * FROM table WHERE ColumnA + ColumnB < 485
但它不起作用。我已经试过了
SELECT Sum(ColumnA) + Sum(ColumnB) AS Total FROM table
但它给了我一列所有行的总和,我想要每一行总和都有一行。那么我该怎么做呢?xD,我希望你能理解,如果不是要求我试着更好地解释它!并提前感谢那些愿意帮助我的人!
编辑:我发现XD的问题是列很小,1行或更多行的结果超过32k,所以它不工作!谢谢大家
我有一个列为fips、hitYear、hit的表。主键是(fips,hitYear)。对于每一年,每个县fips代码出现一次,命中值为0或1。
我如何开发一个SQL查询,以获得一个县在一年内命中值为1的次数,(包括零计数的县)?输出将包含列: fips和count。
我当前的查询是
SELECT fips, Count(*) FROM (SELECT * from countyHits WHERE hit = 1) GROUP BY fips
但这不包括零计数的县。
我有以下查询,我想使用它将金额从各种货币转换为USD:
SELECT
currency,
CASE currency
WHEN 'SAR' THEN 0.266
WHEN 'EGP' THEN 0.113
WHEN 'USD' THEN 1
WHEN 'JOD' THEN 1.411
WHEN 'GBP' THEN 1.311
WHEN 'BHD' THEN 2.652
WHEN 'AE
我的表由列StartTime和EndTime以及datetime数据类型组成。我使用以下查询计算了这两列的持续时间:
SELECT
StartTime, EndTime,
DATEDIFF(s, StartTime, EndTime) AS duration
FROM tbl_record
WHERE StartTime >= @starttime AND StartTime < @endtime
ORDER BY StartTime DESC
如何在sql查询中计算持续时间的总和。这可以使用脚本完成,但是如何在数据库查询中完成呢?我增加了一些东西
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
在前面的问题中,我已经成功地使用Microsoft SQL Server并将excel文件导入到新的数据库中。现在,我的问题是如何编写正确的sql命令。我尝试使用不同的标准对表中的同一列进行两次求和,然后将这些数字输入到不同的表中。我知道如何向表中插入一个和,但我想知道如何将来自同一列的两个和同时插入到表的同一行中(因为每次插入时,都会创建一个新行)。
附加问题:我应该如何组织我的结果依赖于第三个表中的值?示例数据如下所示。
以下是一些示例数据:
DeptID Department
15 Eng
16 Eng
17 Mkt
18
我一直试图从数据库中提取一些数据并生成正确的输出。下面是我要找的东西
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
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
错误选择的非聚合值必须是关联组的一部分。
请在下面找到一份数据表和预期结果:
对于每个用户,我希望生成一个聚合结果。但是,我一直遇到子查询返回超过1个结果的问题。
SELECT **[user]**,
((SELECT SUM(amount)
FROM transactions
WHERE [user] = **[user]**
AND [type] = 'credit' ) -
(SELECT SUM(amount)
FROM transactions
WHERE [user] = **[user]**
我想知道如何根据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
SELECT state,count(*) as regular
FROM X
group by state
这会产生如下结果
AL 10
AK 20
AZ 25
SELECT state,count(*) as regular
FROM X
where alcohol_use=TRUE
group by state
这会产生如下结果
AL 5
AK 10
AZ 20
我需要一个查询来找出百分比并提供如下所示的输出
AL 50%
AK 50%
AZ 80%
提前感谢
这是我的简单查询。
Declare @custName INT
Set @custName = 2
Select case @custName
when 1 then 'abc'
when 2 then 'xyz'
when 3 then 'pqr'
end
上面的查询运行良好。
输出是
我正在考虑将列或标题名称指定为客户名称。
我尝试了一下查询的排列方式。
Declare @custName INT Set @custName = 2 Select case @custName as CustomerName w
我有以下问题: 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
我试图在下面的查询中显示四列:总响应计数、不正确响应计数和基于前两列的%不正确。结果将按question_id分组。
SELECT
COUNT(correct) as total_resp,
SUM(case when correct = 'f' then 1 else 0 end) as incor_resp,
(incor_resp / total_resp) as percent_incor,
question_id
FROM answers
WHERE student_id IN (
SELECT id FROM student
我正在做一个查询,我可以根据ID和时间聚合数据。我已经成功地根据ID聚合了数据,但是当我添加时间时,查询不能识别时间列。 示例代码: SELECT
DATE(Request_Timestamp) as Date,
ID,
SUM(CASE WHEN Language = 'EN' THEN 1 ELSE 0 END) AS lang_EN,
SUM(CASE WHEN Language = 'SN' THEN 1 ELSE 0 END) AS lang_SN,
FROM (
SELECT
DATE(Request_Times
当我选择数据时,只显示第一个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
我在mysql数据库中有两个列'Team‘和'WLD’。WLD代表赢、输、和,每行百元包含一个W、L或D。我想在一次SELECT中输出列中有多少个W,L和D。
如果我用它们中的一个这样做,它会起作用:
SELECT Team, COUNT(WLA) AS Won FROM ResultsTest WHERE WLA = 'W'
然而,一旦我添加了另一个COUNT语句,它就开始抱怨:
SELECT Team, COUNT(WLA) AS Won
FROM ResultsTest
WHERE WLA = 'W',
COUNT(WLA) AS
所以我的数据库里有张桌子
Item Cat1 Cat2
--------------------
Aaa Red Used
Aaa Blu Used
Bbb Gre New
Bbb Blu New
Ccc Gre New
Ddd Blu Used
我想展示在一列中有多少项是红色的,在另一列中有多少是New项,如下所示:
Item Red New
-------------------
Aaa 1 0
Bbb 0 2
Ccc 0
我有这样的疑问:
SELECT CAST(co.DateCreated AS DATE) AS Date,
SUM(w.Gross),
SUM(CASE WHEN co.BookingSourceId = 1 THEN 1 ELSE 0 END) as Website,
SUM(CASE WHEN co.BookingSourceId = 2 THEN 1 ELSE 0 END) as Phone,
COUNT(*) as Total_Orders
FROM [Sterlingbuild].[dbo].[CustomerOrder] co
INNER
SELECT COUNT(median_age) 'Frequency',
CASE
WHEN median_age < 20 THEN 'Terrible'
WHEN median_age < 30 THEN 'Low'
WHEN median_age < 40 THEN 'Medium'
ELSE 'High'
END Life_Expectancy
FROM countries
下面是我的查询,它返回从年初到现在的保单数量。我想知道如何执行一个仅影响等于“活动”的状态的case when语句。
select distinct
count(pol3.CT_ID + pol3.CT_NSID) as 'YTD',
pol3.ct_status
from contract pol3
where (pol3.CT_Status = 'Quote' or pol3.ct_status='Active' or pol3.ct_status='Declined')
and Year(pol3.CT_Subscripti
我使用以下mysql语句来计数和检索mysql数据库中的多个数据库行:
SELECT COUNT(*) FROM leavesrecords WHERE leavetype IN ('Casual','Annual','Medical') and empno = '202' GROUP BY leavetype
但是,此查询的输出仅包含一个列,列名为COUNT(*)。此查询返回三个计数值,我希望这些值为PHP变量赋值。下面的PHP代码是我用来获取值的:
include 'database.php';
$query
我在一张桌子上放了几辆车,以及它们出来的那一年,我试着计算出属于以下四个年龄组的汽车的百分比: 0-4,5-9,10-19,20+。
我试着用三种不同的方式做这件事:
1.
Select (Select(Count(*) from public."Vehicles".first_year where first_year between 2018 and 2021)* 100 / (Select Count(*) From public."Vehicles")) as Percentage
From public."Vehicles";
我发现了
我被一个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
我想计数数据中的匹配值,如in (table1)
name id subject
maria 01 Math computer english
faro 02 Computer stat english
hina 03 Chemistry physics bio
以下查询
Select *
from table1
where subject like ‘%english%’ or
subject like ‘%stat%’
返回前两行:
但是,我还需要计算匹配的值,如下面的输出。
count
1
2
0
(因为在第一行中只有一个值匹配,第二行中有两个
对不起,我是新手。只是试着学习。我试图使用case和count函数有条件地计数SQL中发生特定条件的次数。这统计了储存在脑电表中的男性/女性人数。这是我的SQL查询。
SELECT COUNT(CASE WHEN `Gender` = 'Male' THEN 1 END),
COUNT(CASE WHEN `Gender` = 'Female' THEN 1 END)
FROM `eeg`
当我在mysql后端(phpmyadmin)上运行查询时,这会输出数据,但是在我的php文件中,我得到了这2行的“未定义索引”错误。所有的行都很好。我不
让我们考虑一下这个查询
select class_id,case when event_id=2 then sum(time_spent) end as timespent ,case when event_id=3 then sum(timespent) end as visitedtimespent from class group by class_id,event_id;
输出看起来像这样
class_id timespent visitedtimespent
1 2000 NULL
1 NULL 10