我正在学习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 Server中我不能这样做:
select sum(count(id)) as 'count'
from table
但我能做到
select sum(x.count)
from
(
select count(id) as 'count'
from table
) x
它们本质上不是一回事吗?为了理解为什么第一段代码是不允许的,我该如何思考这一点呢?
Google Data Studio有一个计算指标标准差的函数。工具提示中给出的示例是STDDEV(pageviews)。
然而,这会导致错误"re-aggregation of metrics not supported“,并且工具提示说used字段不能是聚合的结果。然而,在Data Studio中是"“。
鉴于此,我不明白如何使用STDEV。有什么建议吗?
我得到了一个包含多个市场详细信息的,我想在像这样的新列中获得总销售额的百分比。我尝试了下面的代码,但它不能工作。
Select Market, Sale, Sale*100/t.s as %total
from mytablename
cross join (select sum(Sale) as s from mytablename
group by Market
有人能帮上忙吗?
谢谢
在下面的模型中,我希望得到客户所有订单的所有OrderTotalItems之和,其中OrderTotalType (枚举)为“总计”或99:
public class Customer
{
...
public ICollection<Order> Orders { get; set; } = new Collection<Order>();
}
public class Order
{
...
public ICollection<OrderTotalItem> OrderTotalItems { get; set; }
我最近有件奇怪的事发生在我身上。我从事MySQL数据库的工作,并使用phpMyAdmin帮助管理它。最近,我想使用select作为insert创建一个表的副本,因为我注意到表中的大多数记录都是重复的,并且希望创建一个新的干净的表,而不是重复记录。
INSERT INTO `newTable` (SELECT * FROM `oldTable` GROUP BY `uniqueVal`)
并收到一条消息,表明成功复制了63959条记录(注意,上面的select会将146383条记录减少到63959条)。现在奇怪的是,当我运行query时:
SELECT * FROM `newTable`它只返回
我有一个查询,其中我选择一个列,我分组和价格之和,我想别名,以使用它们的条件。
问题是在中,不能在那里别名,但是即使是示例也没有帮助,因为最终order无法工作。
以下是我的疑问:
SELECT product_status, SUM(list_price) as sum_prices
FROM OE.PRODUCT_INFORMATION
WHERE (LOWER(product_status) NOT LIKE '%orderable%') AND (sum_prices >= 4000)
GROUP BY product_status;
输出:
ORA-00904:
以下是查询:
SELECT name,
group_name,
number1, -- associated with either the name or the group_name
number2,
...
(number1 * number2) - SUM(number3) AS total_difference,
SUM(total_difference) OVER (PARTITION BY group_name) AS grand_total
FROM t
GROUP BY name,
非常简单,假设我想要对一个组中的一个特征进行求和。 所以我在一个窗口函数上进行分区: SELECT sum(NumberOfPlayers) over (partition by sport) as SumOfSport 太好了,这很好。现在.。我想知道这笔和在我刚刚做的所有总和中的百分位数。 例如,一项有9名运动员的运动,在五项运动中排名第二,将处于第40个百分位数。 让我们从简单的开始..我想知道第20个百分位数在哪里。 ... PERCENTILE_CONT(0.2) WITHIN GROUP (ORDER BY SumOfSport ASC) OVER (PARTITION BY N
在这个数据框架中,我发现每个组的总薪资。在Oracle中,我会使用以下代码
select job_id,sum(salary) as "Total" from hr.employees group by job_id;
在Spark中尝试了同样的方法,我面临两个问题
empData.groupBy($"job_id").sum("salary").alias("Total").show()
别名总数不显示,而是显示“sum(工资)”列。
我不能使用$ (我认为Scala语法)。获取编译问题
empData.groupBy(
我试图返回一个客户I的列表,其中包括他们在第一次付款后30天内支付的所有款项的总和。我试过
select
P.CustomerID,
SUM(P.TransactionAmount)
from Customer_Payments P
where P.dDatePaymentReceived < date_add(min(P.dDatePaymentReceived), INTERVAL 30 DAY)
group by P.iCustomerID;
但是这是行不通的,因为我不能在where子句中包含一个min()在date_add中。有什么简单的办法吗?
我一直在使用窗口函数,但我认为我对它们是如何工作的还不太了解,无法回答为什么它们的行为方式如此。
对于我正在进行的查询(如下所示),为什么要求我将我的聚合字段添加到组中呢?(在下面查询的后半部分,如果我在第二组中不包含"Events“,则无法生成结果)
With Data as (
Select
CohortDate as month
,datediff(week,CohortDate,EventDate) as EventAge
,count(distinct case when EventDate is not null then GUID end) as Even
我有一个Automate表,定义如下:
Colonne Type
id int(11) Incrément automatique
name varchar(255)
type varchar(255)
code varchar(255)
password varchar(255)
active tinyint(1)
我为我的仪表板制作了这样的视图:
SELECT COUNT('type') as count, type as name
FROM automate
我知道我在这里遗漏了一些东西,因为我不能使用可聚合函数(在本例中是Sum(count...)中的双可聚合函数)在where函数中,但是似乎不知道如何重写sql。
SELECT city,
state,
COUNT(studentID),
COUNT(instructorID)
FROM Student
JOIN Instructor
ON Student.ZIP= Instructor.ZIP
WHERE SUM(COUNT(studentID), COUNT(instructorID)) AS TOTAL >=
我已经在互联网上到处寻找这个问题的答案,但我没有找到任何答案。(我可能问错了?)我有一张表,看起来像这样:
我一直在使用这个查询:
SELECT title, date, SUM(money)
FROM payments
WHERE username = '$username_n' and type=0
GROUP BY title
它做到了这一点,它对相同的标题进行分组并对它们的值求和
但正如你所看到的,它只给我一个日期,我希望能够制作一个滑块,我可以在其中对日期进行排序,但如果它只为每个分组的标题创建一个日期,我就不能这样做。
如何在创建多个日期的同时删除
我有一个与基于SUM().Following结果的连接两个表有关的小问题是我的表。
Customers Table
CUSTOMERID NAME AGE ADDRESS PHONE
1 AA 33 Some Address 123654789
2 BB 35 Some Address 123654789
3 CC 55 Some Address 987654789
4 DD 55 Some Address
我尝试收集有关通信深度的一般统计信息:每个请求的每种类型的平均、最大和最小消息数。有两个表:
First:
ticketId,ticketQueueId,ticketCreatedDate
Second:
articleId,articleCreatedDt,articleType (can be IN or OUT - support responses), ticketId
我是这样推断的:
SELECT AVG(COUNT(articleType='IN')) AS AT_IN, AVG(COUNT(articleType='OUT')) AS AT_O
我有一个带有硬编码值的脚本。我的任务是将硬编码的值放入表中,这样即使表值发生变化,脚本也可以运行。我不是在寻找一个特定的值,而是试图对照一个表来检查它。我有一个改变之前的工作代码的例子,以及试图起诉相同逻辑的非工作代码。
我知道这个错误:
不能对包含聚合或子查询的表达式执行聚合功能。
工作代码:
HAVING SUM (CASE WHEN Keyword = 1313 THEN 1 ELSE 0 END) = 0;
非工作守则:
HAVING SUM (CASE WHEN Keyword IN (SELECT Keyword FROM TableB) THEN 1 ELSE 0 END) =