我在显示这个查询和按查询分组时遇到了一些问题。不管我用什么方法处理这个组,我都会继续犯同样的错误。任何帮助都是非常感谢的。
当前正在获取此错误:
错误: 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
我试图按几个专栏分组,包括一个每月和一年的摘录专栏。sql始终按原始日期列返回组。如何提取日期到月份和年份,然后在本专栏中分组。下面是我的完整sql:
select Name,
extract(month from fill_Date) as Month,
extract(year from fill_Date) as Year,
sum(quantity)
from Table A
group by Name,fill_Date
我有一张这样的桌子:
COLUMN TYPE
------------------------------
ID INTEGER
VALUE INTEGER
TIME TIMESTAMP
如何用HQL选择按时间单位(F.E)分组的值列和来编写查询。(按日分组),并选择此时间单位作为第二列。
我尝试过这样做,得到了这样的结果:但是在HQL中没有parsedatetime函数,所以我现在不知道如何获得正确的查询。
select sum(value),
parsedateti
我有两张桌子:
t1 (date d, name c(20), debit n(7), credit n(7)) t2 (date d, name c(20), type c(25), obal n(7))
这是样本数据。
T1:
DATE NAME DEBIT CREDIT
01.01.12 dad 5000
01.01.12 mum 6000
05.01.12 school 1000
01.02.12 dad 5000
0
我有一个表,其中列出了以下值。对于同一客户,第1列中的一些值显示了两次(例如,apple可能显示2次或更多次)。
Column 1
Apples
Oranges
Bananas
我知道我可以使用它来获得每个值的计数。
SELECT column 1, COUNT(*)
FROM table
GROUP BY column 1
有没有办法编写一条SQL语句来查看同一个客户的其中一个值的计数出现两次的情况?
例如,我想要找出苹果为同一客户出现两次的次数。
订单可以由几行组成,因此OrderId并不是唯一的。为了使SQL能够正确地解析,我如何才能完成和而不必按组进行分组?
SELECT DISTINCT OrderId, SUM(ProductPrice * ProductQuantity ) as Total
FROM OrderDetails
GROUP BY OrderId
如果我按线起飞,我就会得到
'OrderDetails.OrderId' is invalid in the select list because it is not contained in either an aggregate function
我有一张桌子:
ID Price Time
0 20,00 20/10/10
1 20,00 20/10/10
2 20,00 12/12/10
3 14,00 23/01/12
4 87,00 30/07/14
4 20,00 30/07/14
我使用这个语法sql以一种不会得到重复值的方式获得所有价格的列表:
SELECT * FROM myTable WHERE id in (select min(id) from %@ group by Price)
我有张桌子看起来像这样:
ID from to
1 X Y
2 Y X
3 Z X
4 R L
请注意前两行:
1 X Y
2 Y X
我想要的是防止在反列/不同列或from != to上使用相同的值,并且我希望SQL返回:
ID from to
1 X Y
3 Z X
4 R L
SQL能做到这一点吗?
当同时选择两列时,如何将此代码转换为Lambda表达式?
LINQ
var lq=(from a in tbl
group a by 0 into b
select new { intYear = b.Min(p => p.intYear), tintMonth = b.Max(p => p.tintMonth) }
).SingleOrDefault();
T-SQL
SELECT MIN(intYear), MAX(tintMonth)
FROM tbl
Lambda表达
tbl.Select(x => x.intYear)
我正在做一项任务,我有一个有几列的表。我感兴趣的两个是Type和Easting列。 我尝试使用一个查询从Easting列返回最大值,并在Type列中显示该值包含的内容。 我正在使用Microsoft Access进行作业。 下面是我到目前为止所得到的,但它返回的是所有值,而不是最大值 SELECT Type, Location,MAX(Easting)
FROM CrimeData
GROUP BY Easting, Location, Type 任何帮助都是最好的。
在一个程序中,我编写了以下sql查询,但是它给出了错误,并且没有显示我希望它显示的结果。
s = "Select count(a.FileNo)'members',a.FileNo,a.ApplicantName from Easy_Loan_Agreement a where a.FileNo like ('" + textBox1.Text + "%" + "')group by'" + textBox1.Text + "'";
错误是;
每个组按表达式必须至少包含一个不是外部
我正在尝试选择在LASTNAME列中具有重复值的所有记录。到目前为止,这是我的代码
If EXISTS( SELECT name FROM sysobjects WHERE name = 'USER_DUPLICATES' AND type = 'U' )
DROP TABLE USER_DUPLICATES
GO
CREATE TABLE USER_DUPLICATES
(
FIRSTNAME VARCHAR(MAX),
LASTNAME VARCHAR(MAX),
PHONE VARCHAR(MAX),
EMAIL
我目前的查询是:
SELECT x, MAX(z) AS mz, y FROM my_table GROUP BY x
按预期返回列x和mz,但最后一列y与其他两列不匹配。换句话说,我希望"y“列与mz列匹配,就像x列当前所做的那样。我该怎么做呢?
更新:对不起,问题不是很清楚。我想执行以下查询:
SELECT * FROM (SELECT x,MAX(z)从my_table组按x从mz )右联接(选择y,MAX(z)从my_table组按y选择mz )b在a.mz = b.mz上
不需要使用3个SELECT语句(也许这不是什么大问题,但对我来说,这似乎是一个效率低下的查询。但是我
在升级到MySQL 8.0之前,我以前使用GROUP BY不选择重复项,但现在我得到了:
1055 - SELECT list的表达式#2不是按子句分组,而是包含非聚合列'database.orders.ID‘,它在功能上不依赖于按子句分组的列;这与sql_mode=only_full_group_by不兼容,时间:0.02800s
我知道我可以按以下方式更改mysql模式:
mysql -u root -p
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY'
我试图构建一个SQL查询,其中我按1列分组,但也包括来自每个组中任意记录的其他列的值。所以,就像
SELECT BoxNo
FROM MuffinData
WHERE FrostingTimeApplied >= CONVERT(date, GETDATE())
GROUP BY BoxNo
但是在结果中包括来自MuffinType、FrostingType列的一些值(我知道每个框中只有一个MuffinType和FrostingType值)。
我有一个表,它有两列C1和C2。
C1有整数数据类型,C2有文本。
桌子看起来像这样。
---C1--- ---C2---
1 | a |
1 | b |
1 | c |
1 | d |
1 | e |
1 | f |
1 | g |
2 | h |
2 | i |
2 | j |
2 | k |
2 | l |
2 |
我编写了以下MySQL查询,以获取每个用户的收件箱消息以及最后一条消息.
select *, `chat_channel` as `channel`, MAX(id) as max_id from `messages`
where (`message_to` = 2 or `message_from` = 2)
and (`delete_one` <> 2 and `delete_two` <> 2)
group by `channel`
order by `max_id` desc limit 40 offset 0
我用的是Laravel方法。
public
这是我的代码,它基本上完成了它的工作,但它没有像我告诉它的那样使用SQL statemnt进行分组。另外,我想知道如何制作一个自定义的列,让它自己编号,这样顶部就是'1‘,它就从那里开始向下编号。
btnLeaderBoardUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String sql3 ="Select Name, Kills from honscores group by Name,
在我的新工作中,我发现SQL Server 2008 Enterprise中的分区视图如下所示:
...
SELECT *
FROM [SERVER1].DATA_2012_7_1.dbo.DATA WITH (nolock)
WHERE DateTime >= '2012-07-01' AND DateTime <= '2012-07-15 23:59:59.997'
UNION ALL
SELECT *
FROM [SERVER2].DATA_2012_7_16.dbo.DATA WITH (nolock)
WHERE