我有一个mysql和查询,它运行在超过60万条记录上。我现在所做的就是这样
SELECT SUM (payment)
FROM payment_table
WHERE
payment_date BETWEEN ... AND ...
AND
payment_status = 'paid'
我将查询更改为这种格式,以减少记录集,但它仍然占用几乎相同的时间。
SELECT SUM(Payments)
FROM (
SELECT payment AS Payments FROM payment_table WHERE
我有下面的代码。我搞错了:
转换为值类型'System.Int32‘失败,因为物化值为null。结果类型的泛型参数或查询必须使用可空类型。
var productItem = from sales
in db.Sales_inv_details
select new {
sales.Sales_Invoices.Customer.Cust_Id,
sales.Sales_Invoic
我有一个在sqlite上运行的查询:
SELECT * FROM ServicesData
WHERE JobID IN (
SELECT JobID
FROM ServicesData
WHERE JObID IS NOT NULL
GROUP BY JobID
ORDER BY MAX(Time) DESC LIMIT 3
)
ORDER BY Time;
(这将获取最近3个作业的所有条目,请参见表和结果( ) )
在LinqPad中运行对sqlite的查询需要0.02秒。
我试图在EF Core中将其转换为linq- to -sql。
我试过:
ServicesDat
Visual中的LINQ查询生成带有错误的SQL查询。在LINQPad中,使用相同数据库(或DataContext)的相同LINQ查询运行得很好。
LINQ查询
var accesDomaines = from t in db.Access
where t.IdUser == access.IdUtilisateur
where t.IdDomain != null
where t.IdRole == access.IdRole
where t.IdP
我正在使用以下结构的查询
MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= $data[mnode.checkagainst])
其中,data类似于{checkparam1: 24}。这对我的作用是:要检查其最小值的参数的名称驻留在节点中。
一切都运行得很好,但是当我构建apoc代码时,比如
MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(pat
以下两个linq查询场景在性能方面是否相同?
首先:
var result= ._context.PDUTeams
.Where(x=>x.Name=="Steve");
if(some condition)
{
result=result.Where(x=>x.Age==23); // people having age=23 are 2
}
else{
result=result.Where(x=>x.Age==19); // people havi
如何在lambda表达式中使用Count(*)实现SQL查询?
我想要的是转换这样的查询:
SELECT SendType,
CASE WHEN Date IS NULL THEN
'NEW'
ELSE
'NOT NEW'
End Registry,
Count(*) as TotalSent
FROM [dbo].[Sends]
WHERE Disabled = 0
GROUP BY
SendType,
Registry
对于这样的lambda表达式:
context.Env
@Document
public class Product extends Item {
private Date onlineDate;
private Date offlineDate;
}
数据
Product {
onlineDate : some date
offlineDate : null
}
以下查询返回0次点击
query.addCriteria(Criteria.where("onlineDate").lte(date).and("offlineDate").gte(date))
但是下面的查询返回结果
q
我需要运行一个原始SQL查询并返回一个计算列。查询与POCO类的属性匹配。当对数据库运行查询时,查询运行正常,但计算列返回null
public class PocoClass
{
public int ID { get; set; }
[NotMapped]
public DateTime? CalculatedDate { get; set; }
}
查询伪代码(实际查询更复杂):
string sql = @"SELECT ID, max(date) as CalculatedDate
from randomtable
我有一个基于以下模型的自定义对象:
public class Filter where T : new()
{
public T Object { get; set; }
public int Page { get; set; }
public int ItemsPerPage { get; set; }
}
public class TransactionFilter : Filter where T : new()
{
public DateTime InitialDate { get; set; }
public DateTime EndDate
这个问题源于我昨天问过的一个,为什么在我的实体上使用join查询会产生极其复杂的SQL。似乎执行这样的查询:
var query = from ev in genesisContext.Events
join pe in genesisContext.People_Event_Link
on ev equals pe.Event
where pe.P_ID == key
select ev;
生成可怕的SQL,在数据库上
我对实体框架的"Include()“函数有一个问题 使用的框架:.NET核心3.1和实体框架核心3.1.5 这些是我的实体 public class EntityA
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[Index(IsUnique = true)]
public int EntityBId { get; set; }
[ForeignKey("
我正在尝试通过另一个查询的结果来缩小Hibernate条件查询的结果集。我知道如何使用JPQL解决这个问题:
FROM DocPackage p WHERE
EXISTS (SELECT g
FROM ObjectGroup g JOIN g.items i, Person per
WHERE g=p.applicantGroup
AND i.objectClass = 'org.cp.model.common.Person'
AND i.objectId=per.id
AND lower(concat(per.first
我必须选择一个计数列,按来自两个来源的日期分组。我将结果集连接为一个子查询。然而,结果是假的。我认为这个问题与JOIN .. ON子句有关。这个查询运行得很好:
SELECT id
FROM pu a
LEFT JOIN (
SELECT
COUNT(pd.id) AS c_id1,
NULL AS c_id2,
LEFT(pd.start_date, 10) AS date,
pd.pid
FROM
p_d pd
**WHERE pd.pid = 111**
GROUP
在下面的linq查询中,第一个查询运行正常。
1) var vrtemp = from details in context.GetQueryable<vw_FetchDTR>()
where details.App == id.ToString()
select details;
但是,当我在第一次查询的结果中应用groupby时,它显示超时。
2) var vrdetails = vrtemp.GroupBy(x => x.CompName);
我有一个类似这样的查询:
var q = db.GetTable<Person>().Where(x => x.Employer.CEO != null);
这个虚构的查询将返回给定人员所在公司的CEO的ID。这是find和dandy的工作,但如果我这样做,它会得到failed to translate to SQL错误:
public class Person
{
public bool HasCEO
{
get
{
return this.Employer.CEO != null;
}
}
}
我希望能够做到这一点,并将较长
一旦我在select子句中包含了一个“长文本”类型,查询时间就从8s到3分钟(Amazon t2.mall)。where子句中不使用长文本,结果集为空。见下文:
mysql> select id from mbp_process where errorAcknowledged='N' and (exitCode != 0 or exitCode is null);
Empty set (8.03 sec)
mysql> select id, stdoutContents from mbp_process where errorAcknowledged='N
有没有办法将查询的结果复制到另一个变量,然后对第二个变量执行一些过滤,这样可能会返回两个不同的结果? 我尝试首先保存一个变量的路径,然后将结果赋给第二个变量,然后在第二个变量上执行WHERE,同时返回原始查询(第一个变量)的结果。 MATCH
(a:Account {id : '3edcfba7-e95b-4d22-9793-e5f983ebde33'})
MATCH
(target:Vertex { id : '59255ad6-0397-4b2d-9e69-6999131cea16'})
<-[:PARENT*]-
(
为什么实体框架会生成嵌套的SQL查询?
我有这个代码
var db = new Context();
var result = db.Network.Where(x => x.ServerID == serverId)
.OrderBy(x=> x.StartTime)
.Take(limit);
这会产生这样的结果!(注意双击select语句)
SELECT
`Project1`.`Id`,
`Project1`.`ServerID`,
`Project1`.`EventId`,
`Project1`.`StartTime`
如何从该查询的结果中提取x,y坐标?我尝试了许多变体,但没有一个能正常工作。
select * --This row should contain something like t.ch...x
from (select sdo_aggr_convexhull (
sdoaggrtype (
sdo_geometry(2001, NULL, sdo_point_type(x, y, NULL), NULL, NULL),
0.5
)
) ch
from table1 where name = '111') t
;
错误的
这是我几天前发布的一个后续问题。
下面是我的问题。
我想知道优化器如何重写查询,以及如何在PostgreSQL中读取执行计划。以下是示例代码。
DROP TABLE ords;
CREATE TABLE ords (
ORD_ID INT NOT NULL,
ORD_PROD_ID VARCHAR(2) NOT NULL,
ETC_CONTENT VARCHAR(100));
ALTER TABLE ords ADD CONSTRAINT ords_PK PRIMARY KEY(ORD_ID);
CREATE INDEX ords_X01 ON ords(ORD_PROD_ID);
INSER
我想从联合表中得到一个最小值。
作为一个MySQL查询,如下所示。
SELECT MIN(PromisedDate)
FROM (SELECT PromisedDate FROM JobWorkOrder WHERE `PromisedDate` IS NOT NULL
UNION
SELECT ScheduledDate AS PromisedDate FROM JobPhase WHERE `ScheduledDate` IS NOT NULL) ScheduledTable;
该查询的结果是PromisedDate和ScheduledDate在JobWorkOrder和
select x from X x where x.a.id = :a_id -->始终选择0个对象
为什么上面的JPQL声明不起作用,但下面的声明起作用?
select a from A a where a.id = :a_id -> a_obj
select x from X x where x.a = :a_obj
在执行过程中,两个查询都不会抛出异常,但会获得不同数量的结果。
谢谢
更新
我使用联接尝试了以下查询:
select x from X x, x.a a where x.a.id = :a_id -->意外令牌的TopLink异常
这是:select x