我正在尝试使用CASE语句编写GROUP BY子句,以便根据查询中参数的值有条件地进行GROUP BY。下面是我正在使用的查询(大大缩短了),并且我一直得到"RVPname在选择列表中无效,因为它既没有包含在聚合函数中,也没有包含在GROUP BY子句中。DVPname无效,AEname无效。
SELECT
DVPname, RVPname, AEname, Dealer, Product, Distribution,
CASE WHEN @LEVEL = 'DVP' THEN DVPname
WHEN @LEVEL = 'RVP' THEN RVP
在我的代码中,我有以下Linq查询:
IQueryable<Data> charts = (from report in ctx.Charts group report by new
{
Name = report.ChartTitle.ChartType.ChartCategory.CategoryName,
id = report.ChartTitle.ChartType.ChartCategory.ChartCategoryId,
Period = report.Period
} into d
s
我有以下SQL:
select
inv.salesman_id,
(select salesman_goals.goal from salesman_goals
where salesman_goals.salesman_id = inv.salesman_id
and salesman_goals.group_id = g.group_id
and salesman_goals.subgroup_id = sg.subgroup_id
and salesman_goals.variation_id = v.variation_id)
as goal,
我有一个基本的键值表,其中包含了每个用户的一些数据。使用更新的mysql,当您按组执行时,它将sql_mode设置为only_full_group_by (新的默认设置)。当我尝试运行这个简单的查询时:
select * from user_features
where user_id = 1
group by feature_key
我得到以下错误:
SQL错误(1055):SELECT list的表达式#1不是按子句分组,而是包含非聚合列'date.user_features.user_id‘,它在功能上不依赖于GROUP子句中的列;这与sql_mode=only_full_gr
在包含CASE...WHEN的查询中,我无法逐个解决组的问题。
你能帮我一下吗?
select ID,
CODE,
NOM AS TITLE,
level,
ID_PARENT,
CASE ID_PARENT
WHEN 1111 THEN 'MAIN'
ELSE
(
SUBSTR(
(
SELECT CODE FROM unit
我在显示这个查询和按查询分组时遇到了一些问题。不管我用什么方法处理这个组,我都会继续犯同样的错误。任何帮助都是非常感谢的。
当前正在获取此错误:
错误: SELECT list的表达式#2不按子句分组,包含非聚合列“myData.stateName”,该列在功能上不依赖于逐个子句中的列;这与sql_mode=only_full_group_by不兼容
这里是我的sql:
SELECT
stateAbv,
stateName,
'' AS cityName,
count(*) AS state_count
from
myData
GROUP BY sta
我想执行一个简单的查询,如下所示:
select *,count('id') from menu_permission group by menu_id
在我尝试过的Django格式中:
MenuPermission.objects.all().values('menu_id').annotate(Count('id))
它只选择menu_id。执行的查询为:
SELECT `menu_permission`.`menu_id`, COUNT(`menu_permission`.`id`) AS `id__count` FROM
下面有一个表,希望计算每个字母出现的连续次数。为帮助节省时间的人列出了用于复制我正在使用的表的代码。
CREATE TABLE table1 (id integer, names varchar(50));
INSERT INTO table1 VALUES (1,'A');
INSERT INTO table1 VALUES (2,'A');
INSERT INTO table1 VALUES (3,'B');
INSERT INTO table1 VALUES (4,'B');
INSERT INTO t
我有以下代码,我不知道如何不将它们包含在group by中。有些论点纯粹是为了这个案例,仅此而已。我不能将它们包含在group by。我不能真正按其他任何东西分组,因为我只需要按TransactionTyp获取计数,但我总是得到这样的错误:在选择列表中是无效的,因为它既没有包含在聚合函数中,也没有包含在group by子句中。
也许大小写的使用是错误的?但是我需要替换一些基于其他字段的值。
这也是在MS SQL中。
SELECT Count(*),
CASE
WHEN a.TransactionTyp IS NOT NULL THEN a.TransactionT
left join
(
SELECT my_number, MAX(id) as id
FROM table1
GROUP BY location
) newNum
on newNum.Part = c.OtherPart
left join table2 t2 on t2.id = newNum.id and t2.site = a.site
情境:我在table1中有数据字段(除其他外)table1、location和id。在table2中,我有数据字段(除其他外) id、site、date。我将加入到其他视图/表(c和a)中
我很难处理这个查询,因为我想从3个表中获取值
SELECT
table1.cedtra as cedtra,
table1.priape as priapetra,
table1.segape as segapetra,
table1.prinom as prinomtra,
table1.segnom as segnomtra,
table2.cedcon as cedcon,
table2.ben as ben,
table3.priape as priapeben,
table3.segape as segapeben,
table3.pri
我的表名是“product”,它包含以下列。
1. id
2. name
3. description
4. Price
在运行以下SQL查询时,不会出现错误。
select name, sum(Price) from product group by Description;
在PostgreSQL上运行此查询时,它会给出错误信息。
根据'group‘子句,select子句中的列名应该是按条件分组的一部分。
因此,根据以上所述,SQL查询名称应按条件作为组的一部分。
我有以下查询,它可以做我想做的事情,但是我怀疑不需要子查询就可以做到这一点:
SELECT *
FROM (SELECT *
FROM 'versions'
ORDER BY 'ID' DESC) AS X
GROUP BY 'program'
我需要的是按程序分组,但以"ID“为最高值的版本返回对象的结果。
在我过去的经验中,这样的查询应该可以在MySQL中工作,但出于某些原因,它不是:
SELECT *
FROM 'versions'
GROU
select
concat(fullvisitorid,cast(visitid as string)) as unique_session_id
,case
when h.item.productSku is not null then h.hitNumber
else max(h.hitnumber)
end
,h.item.transactionid
,h.item.itemrevenue/pow(10,6)
,h.item.productSku
from `myproject.mydataset.ga_sessions_20180101`, u
此查询工作:
select p.Nombre as Nombre, c.Nombre as Categoria, s.Nombre as Subcategoria FROM Producto as p
inner join Subcategoria as s ON p.IDSubcategoria = s.ID
inner join Categoria as c on s.IDCategoria = c.ID
group by p.Nombre, c.Nombre, s.Nombre
order by p.Nombre
但是,当我通过语句删除组上的s.Nombre时,我会得到以下错误:
Ms
我有一个人桌,可以同时容纳人和他的经理。
我正在使用SELF来选择经理电子邮件,但是我得到了很多副本。
如何在查询中使用组?
SELECT P.prs_id AS 'Employee_id', M.prs_id AS 'Manager_id', M.prs_email AS 'Manager_email'
FROM qrd_prs_person AS P
LEFT OUTER JOIN qrd_prs_person AS M
ON P.prs_
我正在处理一个查询,该查询必须将联接表中的元素和“主”表中的字段值进行比较。以下是我的查询要点:
SELECT t1.id
FROM table1 AS t1
INNER JOIN table2 t2 ON t2.t1_id = t1.id -- AND OTHER CONDITIONS
-- WHERE more t1 conditions
GROUP BY t1.id
HAVING SUM(t2.amount) <> t1.total_amount
AND SUM(t2.amount) = (t1.component1+t1.component2+t1.component3+t
您好有users表,与另一个表相关的多对多。
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY,
name varchar(50)
);
;
CREATE TABLE items (
id INT NOT NULL PRIMARY KEY,
name varchar(50)
);
CREATE TABLE user_items (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
user_id int NOT NULL,
item_id int N
我在monetdb表中有一个时间戳列,我想偶尔按小时分组,偶尔按日或月分组。在MonetDB中执行此操作的最佳方式是什么?
在比如postgres中,你可以这样做:
select date_trunc('day', order_time), count(*)
from orders
group by date_trunc('day', order_time);
我认为这不会使用索引,但在MonetDB中有什么方法可以做到这一点,而不是创建包含日、月和年截断值的额外日期列呢?
谢谢。
下面的查询按预期执行,给出了给定要查询的字段的预期输出
SELECT 1 as SEQ, TERM_DESC as TERM, PRIMARY_COLLEGE_DESC as COLLEGE, LEVEL_GROUPING_CODE as LEVEL_CODE, LEVEL_GROUPING_DESC as LEVEL_DESC
FROM SECopy as SE
但是,当我在字段中添加函数SUM()时,我会得到关于TERM_DESC的以下错误,它甚至与使用SUM()函数的ID_COUNT无关。
SELECT 1 as SEQ, TERM_DESC as TERM, PRIMARY_C
我有一个表,列出了我们按年度分组的发票总数,如下所示
SELECT
sum(totalValue/((100 + Vat)/100)) AS purchases ,
year(invoice_date) AS invoiceyear
FROM invoices
GROUP BY year(invoice_date)
ORDER BY invoiceyear Desc;
我们还有一个invoice表的列表,它包含一个指向供应商列表中的SupplierID的链接,而product表还包含一个指向supplierID的链接列表
我需要根据天气进行分组,发票是否用于库存订单,因此我需要根据以下
我使用的是一个查询,我想按一个特定的列对它们进行分组。我得到了一个错误,因为其他字段没有在GROUP BY子句中列出,是的,我知道我应该告诉Sql Server --按行分组--您应该选择,但是我不知道怎么做。如果是int,我使用MIN()函数,如果它是文本字段,我不知道该做什么。我希望选择所有数据,如果videos.number,videos.title被复制,而不是获得第一行分组行。此查询所做的是:根据客户端订阅从包中获取所有通道。有时候,不同的包有相同的频道,我不希望这个频道被显示给客户两次。
USE [DB]
SELECT Videos.number,
Videos
我想知道是否有解决方法可以在Hive中排除“group by”语句中的字段?
select g.country, count(*) as road_count
from geography g
join g_street gs on (g.id=gs.id)
group by g.iso_country_code, g.virtual
having (g.virtual='f' or g.virtual is null)
;
我不想要group by语句中的'g.virtual‘,因为我的结果应该只按国家分组。配置单元需要group by语句中的“g.virtual”
下面是一个sql语句和我收到的一个错误。我想将所有返回的项目按prodID分组。
错误:
文本、ntext和图像数据类型不能进行比较或排序,除非使用是NULL或LIKE运算符。
声明:
SELECT TOP 20
PRODID, ITEMDES
FROM orderedItems oi
left join orders o on oi.order_id = o.order_id
Group by PRODID, ITEMDES
我想知道如何按同时具有select count()和count()语句的字段进行分组。我知道我们必须将所有选择字段按组排列,但它不会让我这样做,因为字段中有第二个count()语句。
create table C as(
select a.id, a.date_id,
(select count(b.hits)*1.00 where b.hits >= '9')/count(b.hits) AS percent **<--error here
from A a join B b
on a.id = b.id
group by 1,2,3) with no data