我正在尝试为我的报告创建一个动态查询。我的查询返回使用IEnumerable和.select(selectstringquery)和.where(wherestringquery).的select,以及字符串在不同情况下变化的位置,这取决于我需要的内容和时间。
string selectstringquery = "student_fname, student_lname"
string wherestringquery = "student_lname='joe'";
var test = (from s in students).sel
假设我有一个表SortTest,其字段为Data1、Data2、Sort1和Sort2,Key1和Key2需要执行以下查询:
SELECT TOP 1
Data1,
Data2
FROM SortTest
WHERE Key1 = @key1 AND
Key2 = @key2
ORDER BY Sort1, Sort2
为了对其进行优化,我为以下序列创建了一个索引
Key1, Key2, Sort1, Sort2
但是执行计划仍然显示索引扫描而不是搜索,因为它不能有效地对不启动索引的字段序列进行排序。因此,为了优化查询,我必须将它们添加到ORDER BY子句中,这当
1. MySQL :
SELECT a.*,COUNT(DISTINCT b.id) AS IndianTruck,COUNT(DISTINCT d.id) AS BdTruck
FROM manifests a
JOIN truck_entry_regs b ON a.id = b.manf_id
LEFT JOIN truck_deliverys d ON a.id = d.manf_id
WHERE a.manif
这两个查询之间是否存在性能差异。显然,应该在哪里保留用于查询表上的值以符合SQL 92的值,是否存在性能原因?
SELECT
Foo.FooId
(
SELECT
Bar.BarId
FROM
Bar
WHERE
Bar.FooId = Foo.FooId
FOR XML PATH('Bar'), TYPE
) As 'Bar'
FROM
Foo
FOR XML PATH('Foo'), TYPE
和
SELECT
Foo.FooId
(
我有一个在SQLite中工作的查询,但是它不能在MySQL中工作。
我使用的是: PHP、PDO、SQLite和MySQL
以下是查询:
INSERT INTO mytable (id, name, tag, timestamp)
SELECT 11, 'Legio', 'LR', 1234567
WHERE NOT EXISTS (
SELECT 1 FROM mytable
WHERE id = 11 AND name = 'Legio' AND tag = &
我正在尝试设计一个查询,但是我不知道从哪里开始。
我会按我想要的方式把它打出来。
Items::whereIn('id',$ids)->orWhereIn('id_2',$ids)->where('type','!=',$type)->get();
这就是我希望它工作的方式,但我知道这是行不通的,因为它会忽略WHERE type=$type查询,因为Where已经拉出了不符合Where查询的记录。
基本上我想要的是雄辩的版本...
"SELECT * FROM items WHERE type
我有以下查询
select * from (SELECT accident.id,count(*) as cnt from accident left join driver on driver.accident_id = accident.id group by accident.id)alias where cnt = 1
这是我的查询构建器
$accidents = DB::table('accident')
->leftjoin('driver','accident.id','driver.accident_
我刚刚替换了如下所示的SQL语句:
SELECT UserID, sUserName, sFirstName + ' ' + sLastName as [Name], iSiteNumber
FROM DecimalUsers left join dbo.CustomerSitePermissions on UserID = iUserID
WHERE
(cast(iSiteNumber as nvarchar(50)) like '%' + @query + '%' and (iPermissionIndex = 2 or iPer
我正在做一个学校的项目,我正在试着让一个查询工作。
SELECT *
FROM `ziekmeldingen` AS a
WHERE NOT EXISTS
(SELECT *
FROM `ziekmeldingen` AS b
WHERE `ziek` = 1
AND a.personell_id = b.personell_id)
模型名称: ZiekmeldingenModel
我试了两种方法,都不起作用->
$medewerkers = ZiekmeldingenModel::whereNotExists(function($query)
大家好,请告诉我如何写这个查询:
$laureats=Laureat::select('laureats.*')
->from(DB::raw(" SELECT laureats.nom FROM laureats,traces WHERE laureats.id=traces.laureat_id AND traces.etat_id=$etat
and traces.etat_id=(select etat_id from traces where traces.laureat_id=laureats.id ORDER BY t
Trip::select('trips.id','trips.date_trip',
DB::raw('(select count(region_id) as count from trip_regions where trip_id=trips.id) as count')
)->where('count',10)->get();
ERRor
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'count
我正在尝试创建一个API,它将从数据库返回所有客户记录。但是这提供了分页和过滤。
过滤功能是一个可选的查询参数。因此,不需要将其包含在查询参数中。
但在这样做的过程中,我面临着一些问题。
以下是CustomerController文件中的索引方法:
public function index(Request $request)
{
// Get how many item per page
$itemPerPage = $request->query('per_page');
// SQL Query
下面的两个查询都是单独工作的,但当被Union子句联接时就不能工作。它不是列出最近的4个日期和去年相同的4个日期,而是返回表中最近的4个日期,然后是最旧的4个日期。 查询1 SELECT DISTINCT TOP 4 [Week Ending]
FROM [DataFormat]
ORDER BY [Week Ending] DESC; 查询2 SELECT DISTINCT TOP 4 [Week Ending]
FROM [DataFormat]
WHERE [Week Ending] < DateAdd('yyyy',-1,(SELECT MAX([Week En
我有表测试,它有列id,名称和年龄。我想要id,所以我想查询它。
select id from test where age=12
获得id后,我将使用update查询更新名称。
现在假设如果age=13不存在,那么我将插入一行(insert into test(age) values(13)),插入之后我将得到id (id是autoincremented),.So可以同时进行插入和选择吗?
我有两个类别:身份和用户的边从用户到标识。我需要构造一个SQL查询,它将使用户摆脱身份字段中的一些属性。例如,我的Identity类具有emailAddress、firstName和lastName属性。我的用户可以有多个传出边缘到标识记录。但是,这条语句不像预期的那样工作:SELECT expand(in()), emailAddress, firstName, lastName from Identity where email="abcd@temp.com"上面的结果只是展开(in())的输出,我是否只能进行两个单独的调用/查询,一个是从身份获取道具,另一个是使用扩展函数
下面是我试图执行的查询,它应该返回一个表,其中包含未满的池的数据(members_nr < members_max)。
SELECT id, name,
(
SELECT COUNT(*) FROM pools_entries WHERE pool_id=p.id AND pending=0
) AS members_nr,
members_max, open
FROM pools p
WHERE id IN(1,2,3,4) AND members_nr < members_max;
问题是MySQL不会将members_nr识别为字段,因为它是子查询的结果。这个小问题有
我正在编写一个参数化查询,其中要求LIKE子句在field LIKE '%'时包含NULL值。
我有多个解决方案;我并排运行这些查询,它们返回具有相同摘要的相似执行计划,并且查询时间相似。我担心这些查询如何提高具有数百万条记录的表的性能。
-- Where @PartId is typically '%' or could be 'Part123%'.
SELECT *
FROM dbo.OrderItems AS oi
WHERE oi.PartId IS NULL OR oi.PartId LIKE @PartId
SELECT *
FRO
我无法在left join中获取所有记录。我的核心查询类似于SELECT cities.*, states.name as state FROM cities LEFT JOIN states ON cities.states_id = states.id,它工作得很好
我的laravel查询是这样的
$all_city = DB::table('cities')
->leftjoin('states', 'cities.states_id', '=', 'states.id
以下两个查询产生完全相同的结果:
select country, count(organization) as N
from ismember
group by country
having N > 50;
select * from (
select country, count(organization) as N
from ismember
group by country) x
where N > 50;
可以用子查询和这样的WHERE子句替换每个HAVING子句吗?或者,在某些情况下,HAVING子句是绝对必要的/更强大/更有效/什么都行?
问题
我有一个大约200万行( 115 MB)的表,它即将变得更大。当在表上运行一些实用程序脚本时,我注意到我的一个查询花费了很长时间(15+秒),而一个几乎相同的查询用了不到半秒的时间。以下是查询:
查询1:
SELECT `id` FROM `my_table` WHERE `my_column`='test' ORDER BY `id` LIMIT 28000, 1000
Execution time: 0.204 seconds
查询2:
SELECT `id` FROM `my_table` WHERE `my_column`='test' ORDER
编写SQL查询的正确方法是什么,以便使用Where子句中Select语句中使用的函数的输出?
数据表:
ID Count_ID
111 2
111 2
222 3
222 3
222 3
333 1
查询:
Select ID, Count(Table1.ID) As Count_ID
From Table1
Where Count_ID = 3
Group By ID
它为我提供了无效的列名,目前在其中的条款为Count_ID。
亲切地帮助转换原生查询ti查询多个视图的情况条件和连接statements.Table,c1和c3是视图。我正在尝试从c1获取当前和待处理的信息。请查找下面提到的查询
SELECT c3.eqip_id AS EQIP_ID,
CASE WHEN c1.inst_ts IS NULL OR c1.sent_ts > c1.inst_ts THEN c1.ver_nm END AS PEND,
CASE WHEN c1.sent_ts IS NULL OR c1.sent_ts > c1.inst_ts THEN c1
如果我运行这个查询:
DB::table('test')
->update(['duma' => 'abc'])
->where('id', 1);
Laravel抛出一个错误:
Call to a member function where() on int
但是测试表所有行duma列都用'abc‘更新
尽管出现了错误,Laravel似乎没有where子句执行update查询。这很危险。
这样可以吗?
我有一个以billID为主键的表:
Invoice (billID, item, value, quantity)
以及以下查询:
SELECT item, sum(quantity) AS TotalItems
FROM Invoice
WHERE value>1
GROUP BY item
HAVING sum(quantity)>10
我需要重写来优化(还是去优化?)只使用SELECT、FROM和WHERE。
消除GROUP BY和HAVING的新查询是什么?
是否总是可以消除GROUP BY & HAVING,只使用SELECT、FROM和WHERE?
我有以下问题。我必须对一个包含几个过滤器的大表进行查询。这些过滤器不是强制性的:也就是说,有时查询必须使用特定的过滤器(例如,通过ColumnA),有时则不使用。这些过滤器作为参数传递给存储过程(例如,@filterA,用于ColumnA)。
假设可能的过滤器位于ColumnA、ColumnB、ColumnC和ColumnD上(筛选它们的值是@filterA、.、@filterD)。如果不需要应用特定的筛选器,参数将作为NULL传递。目前,我正在考虑使用“条件”WHERE子句来执行这样的操作:
SELECT *
FROM LargeTable
WHERE (@filterA IS NULL O
我编写了一个带有where子句的Sql查询,将结果缩小到使用start month start year和end month end year。请在下面找到带有where子句的部分(我的查询非常复杂,所以我不想给出它的所有细节):
SELECT *
FROM foo
WHERE (year, month) between (startYear, startMonth) and (endYear, endMonth);
注thatI发现它非常容易理解,而且非常有表现力。它的速度如何?有没有更快的替代方案?如果是的话,他们会是什么样的呢?