由于where子句中的IS NULL检查,我有一个非常慢的查询。至少看起来是这样的。查询需要超过一分钟才能完成。
简化查询:
SELECT DISTINCT TOP 100 R.TermID2, NP.Title, NP.JID
FROM Titles NP
INNER JOIN Term P
ON NP.TermID = P.ID
INNER JOIN Relation R
ON P.ID = R.TermID2
WHERE R.TermID1 IS NULL -- the culprit?
AND NP.JID = 3
我在所有提到的字段上都有非唯一的、非聚类的和唯
你好,我创建了一个,它是从一个拼花文件中读取的,如下所示
+-------+-----+-----+-----+-----+
| col-a|col-b|col-c|col-d|col-e|
+-------+-----+-----+-----+-----+
| .....|.....|.....|.....|.....|
+-------+-----+-----+-----+-----+
我想通过使用col-a和col-b来做一个组,然后找出有多少组有超过一个唯一的行。例如,如果我们有行
a | b | x | y | z |
a | b | x | y | z |
c | b | m
我想从一个表中进行选择,然后为每个表进行选择。
表:
category
+====+=======+
| id | title |
+====+=======+
this table has list of category
email
+====+=======+==========+=============+
| id | eMail | domainId | elseColumns |
+====+=======+==========+=============+
this table has list of emails but domains are in another tab
我有一个表Calls,它有3列:messageType、callId和lastModified。
对于每个调用,在DB中写入4行,每条消息写一行。有四种类型的消息:呼叫建立、呼叫启动和呼叫停止(代码4)。
列messageType和callId构成主键。
我想删除以下行:
对应于终止调用的行。在数据库中写入呼叫停止消息后,呼叫将被终止.
自4小时以来未被修改的行(例如)。
我使用了以下查询:
DELETE FROM Calls WHERE callId IN (SELECT * FROM (SELECT DISTINCT callId FROM Calls WHERE mess
下面有一个简单的sql查询,它为我提供了一个可用的结果。不过,理想情况下,我希望进一步限制此查询的结果仅包括别名列总数小于10的结果。我尝试在where子句中直接引用别名列,并在where子句中复制COUNT()部分,但这是行不通的。这是查询,谢谢您的帮助。
SELECT COUNT(DISTINCT iDomainID) AS totInFile, iFileGroup
FROM Domains.`ApacheVirtualHosts`
GROUP BY iFileGroup
我正在面对一个问题,同时从桌子上得到不同的记录。
我的问题是:
SELECT DISTINCT name FROM employee WHERE name LIKE '%S%'
ORDER BY
CASE WHEN name LIKE 'S%' THEN 0 else 1 end,name
错误: SQL01214按表达式排序无效
错误细节:
我尝试过编写子查询和相关的子查询,但没有成功。
需要帮助才能获得备用SQL查询。
我有一张这样的桌子: CREATE TABLE mytable
(
name varchar(255) NOT NULL,
value varchar(255) NOT NULL,
timestamp TIMESTAMP WITHOUT TIME ZONE NOT NULL,
); 它包含按名称、值和时间戳的数据-显然是;-) 我喜欢创建一个sql查询来获取最后一个值。 对于通过单个名称获取数据,它非常简单 select * from mytable where na
我在PostgreSQL中有一个表,在该表中,我希望选择任何新的“滴答”值,这些值不在之前的"trade_date“表中。
以下查询需要1分钟才能运行,该表包含大约56k行:
SELECT DISTINCT a.trade_date, a.ticker, a.company_name
FROM t_ark_holdings a
WHERE a.ticker NOT IN (
SELECT b.ticker FROM t_ark_holdings b WHERE b.trade_date <a.trade_date
我有以下SQL:
SELECT group_id FROM products WHERE category = 12345 GROUP BY group_id LIMIT 0, 10
或者:
SELECT DISTINCT group_id FROM products WHERE category = 12345 LIMIT 0, 10
该限制用于分页。我想知道如何避免MySQL查找所有行,直到它找到我想要的10个不同的group_ids。例如,如果我这样做了:
SELECT DISTINCT group_id FROM products WHERE category = 12345 LIMI
我有一个名为links的表,其中有50000多条记录,其中三个字段的索引顺序为link_id,org_id,data_id。
这里的问题是当我使用group by sql查询时,它需要更多的时间来加载。
查询如下所示
SELECT DISTINCT `links`.*
FROM `links`
WHERE `links`.`org_id` = 2 AND (link !="")
GROUP BY link
该表具有接近20+的列
有没有什么办法可以加快查询速度,让访问速度更快。
表:
员工
employee_orgn
联合主键(employee_id,orgn_id)
双index:key1:employee_id,index2:orgn_id
欧尔尼
有些雇员没有组织。
sql:
explain SELECT DISTINCT
e.*
FROM
employee e
LEFT JOIN
employee_orgn eo ON eo.employee_id = e.id
LEFT JOIN
orgn o ON o.id = eo.orgn_id
WHERE
我正在尝试从RepDailyInfo表中获取日期,当RepDailyCollection.IsReceived = 0和RepDailyCollection确实有该特定RepDailyInfoID的记录时。这在sql server 2005中是可能的吗?
Select distinct RepDailyInfo.Date
from RepDailyInfo
left outer join RepDailyCollection c
on c.RepDailyInfoID = RepDailyInfo.RepDailyInfoID
where c.IsReceived = 0
找不出为什么这两个语句返回不同数量的结果。它们应该是相同的。SQL版本(正确)返回2个结果,HQL版本(错误)返回3个结果。
SQL的输出返回tb2.user的3个结果,其值分别为1、null和null。where子句意味着它将过滤到2个结果,删除tb2.user值为1的结果。但是,HQL版本返回3个结果。我希望HQL返回2个结果。
我的SQL
SELECT * FROM table1 as tb1 LEFT JOIN table2 as tb2 ON tb1.user = tb2.blocked WHERE tb2.user <> 1 OR tb2.user is null;
我
嗨,我是MS SQL的新手,所以如果我问的问题对其他更有经验的人来说是非常明显的,请原谅。我可以编写查询来以多种方式获取数据,从而获取相同的数据。现在我有两个SQL查询X和Y,如下所示
(查询1)
select column1, column2, column3
from
Table1 a
inner join
Table2 b on a.column1=b.column1
where Condition1 and condition2
EXCEPT
(select column1, column2, column3
from
Table1 a
inner join
Table2
我有一个SQL查询,可以根据日期显示博客上的评论。我想忽略第一个,并显示所有其余的,这是我不能正确做的。
到目前为止我的代码是:
SELECT DISTINCT comment_post_ID, comment_date_gmt, comment_content
FROM $wpdb->comments
WHERE comment_post_ID = {$thePostID}
ORDER BY comment_date_gmt ASC
LIMIT 5
我有两个ZQuery的母版和详细信息,通过detail.DataSource和sql参数链接。
主sql:
select key1, key2 from list
详细信息sql:
select * from list where key1=:key1 and key2=:key2
问题是,当key2为空时,细节是空的!
这里的参数如何与空链接字段一起工作?
下面的查询需要10秒才能完成。在0.0005秒内就完成了。我已经有一个字段的索引"sku","vid“和”时间戳“。这张桌子上我有200,000多张唱片。请帮助,在使用order时查询有什么问题。
SELECT i.pn,i.sku,i.title, fl.f_inserted,fl.f_special, fl.f_notinserted
FROM inventory i
LEFT JOIN inventory_flags fl ON fl.sku = i.sku AND fl.vid = i.vid
WHERE i.qty >=2 ORDER BY i.tim
是否有更有效的方法来编写这个SQL查询?
它在45秒内从一组100,000行返回大约800行。
我正在使用Server 2008 R2
Select a.Div as Division
,a.Room as RoomLocation
,a.Form as Forms
,a.Nums as TotalNumberLocations
From AView a
Where a.Id = '1'
And a.Div = 'A'
Group By a.Div, a.Nums, a.Room, a.Form
union
Select
我需要检查一下猫在两个日期之间颜色的变化。
我的查询如下:
WITH
cats_prior AS (SELECT IDTAG,Color FROM CATS WHERE APPOINTMENT = '06/30/2019'),
cats_now AS (SELECT IDTAG,Color FROM CATS WHERE APPOINTMENT = '08/31/2019')
SELECT cats_prior.IDTAG, cats_prior.Color,cats_now.Color
FROM cats_prior
JOIN cats_now on c
我有一个sql查询,它给出了正确的结果,即使用order子句按A到Z排序的所有雇员名称
select Distinct(EmpNTLogin),Employee from Attendance
where CreateDate>='2016-01-01'
order by EmpNTLogin
当我在Linq中转换相同的查询时,我得到了正确的结果,但order子句不起作用。这是我的Linqued查询
var query = (from attendance in db.Attendances
orderby atten
我试图通过PHPmyAdmin从SQL DB中获取数据,但执行查询需要很长时间。你知道如何加快我的查询速度吗?
我的数据库具有以下结构
表中的joueur
id_joueur |邮件
表对
paires.annee | idj1 | idj2
非常感谢
/* mail from all players being first memeber of a pair (idj1)
in 2015, 2016 and 2017 and removing doubles*/
SELECT
mail
from
joueurs
where
(joueurs.id_joue
我没有使用完整的on DB抽象库,而是使用psycopg2中的原始sql模板,如下所示:
SELECT id FROM table WHERE message = %(message)s ;
检索预期结果的理想查询如下所示:
SELECT id FROM table WHERE message = 'a3cbb207' ;
SELECT id FROM table WHERE message IS NULL ;
不幸的是。明显的问题是我的NULL比较结果是这样的:
SELECT id FROM table WHERE message = NULL ;
..。这不是正确的
我试图在一个包含where语句的列中搜索。我的数据库是这样的:
CREATE TABLE test
(
zID varchar(20),
tID varchar(30)
);
INSERT INTO test
(zID, tID)
VALUES
('1','1'),
('1','2'),
('2','1'),
('2','2'),
('3','1');
然后使用以下SQL语句进行搜索:
SELECT * from te
我正在对所有缓慢运行的查询进行性能调优。我对Oracle还不熟悉,我已经使用了一段时间的sql server。有人能帮我调优查询,使其运行更快吗?
Select distinct x.a, x.b from
from xyz_view x
where x.date_key between 20101231 AND 20160430
感谢任何帮助或建议
我有以下代码:
SELECT (
SELECT COUNT(*)
FROM (
SELECT DISTINCT a.DtaId
FROM Tappt a
WHERE g.Id = a.TapptGroupsId
) AS t0
) AS Id
FROM Tappt t
LEFT JOIN TapptGroups g ON t.TapptGroupsId = g.Id;
在MySQL中,它抛出错误:Unknown column 'g.Id' in 'where clause'
替代的T-SQL
我一直在使用像这样的JPQL查询:
SELECT s
FROM Sentence s
INNER JOIN s.words sw
WHERE s.date = :date
AND sw IN (:words)
GROUP BY s
HAVING count(sw) = :numberOfWords
在SQL s.words中,将是多到多的链接表:word是我们要匹配的单词集合: number s.words是集合中的单词数
对于那些不熟悉JPQL的人,类似的SQL可以在这里找到:。
我遇到了一个问题,我不知道是设计问题还是查询问题。
因此,我有句子和单词(w)和sentence_word (
在下面的sql fiddle中,我如何更改视图以获得所需的输出?
视图
select
sum(dollars) as totalDollars,
sum(dollars)/count(id) as factor,
count(id) as numberOfEvents,
id as eventID,
event_date
from
events
group by
id,
event_date
查询
select
*
from eventStats
where
event_date between '1/1/2015&
我正在寻找一种方法,当已经在使用WHERE IN子句时,可以执行类似于SQL LIKE子句的文本搜索。
我试过这样的方法:
SELECT DISTINCT name FROM cars
WHERE driverName IN ("Bob", "Joe")
MATCH(name) AGAINST ('"mercedez"' IN BOOLEAN MODE)
但是我不能得到基于文本搜索词"mercedez“的有效查询
下面是SQL查询:
SELECT TOP 5 C.CustomerID,C.CustomerName,C.CustomerSalary
FROM Customer C
WHERE C.CustomerSalary > 10000
ORDER BY C.CustomerSalary DESC
以下内容的执行顺序是什么,并给予适当的解释?
顶条款
其中的条款
按条款作出命令
我有下面的SQL代码,这是从一个MySQL数据库。现在,它给出了我期望的结果,但是查询速度很慢,我认为在进一步执行之前,我应该加快查询速度。
表agentstatusinformation包含:
PKEY (主键),userid (整数),agentstate (整数)
表axpuser包含用户名:
PKEY (主键) <--这是userid,loginid (usersname)的键
select distinct (select loginid from axpuser where axpuser.pkey = age.userid),
case
when ag
(很抱歉标题,我真的不知道如何表达:-)
我有一个表,它有一个date和一个uid字段。
我需要获取每个日期的uid数量,目前我在php中运行多个查询,如下所示:
SELECT COUNT(uid) FROM users where Date = 'xxx';
有没有一种简单的方法来实现这一点,只使用一个sql查询?
我正试图从我的数据库中获得不同的成本,也就是计算这个独特的成本。我得到了‘独特的成本’,但不是‘成本’,我将需要运行我的下一个过程。有人能帮我把独立的成本和伯爵一起还给我吗?
$sql="SELECT COUNT(DISTINCT COST) AS COSTQ FROM STATS WHERE PURCHASEID = ".$purchaseid;
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
// output data of
谁能告诉我如何提高mysql group by子句的速度?我已经读过文档了,但是它没有给出任何好的例子。
UPDATE SQL
SELECT
post.topic_id,
topic.topic_posts,
topic.topic_title,
topic.topic_poster_name,
topic.topic_last_post_id,
forum.forum_name AS group_name,
`group`.slug AS child_slug,
`parent`.slug AS parent_slug
FROM bb_posts post
L
我在MySQL 5.1非规格化表上运行这个sql查询。它以我想要的方式工作,但它可能会相当慢。我在day列上添加了一个索引,但它仍然需要更快。有什么建议可以更快的实现吗?(也许可以使用join?)
SELECT DISTINCT(bucket) AS b,
(possible_free_slots -
(SELECT COUNT(availability)
FROM ip_bucket_list
WHERE bucket = b
AND availability = 'used'
我有一个SQL查询:
SELECT count(DISTINCT(email_address))
FROM Mytable
WHERE TableID = '101'
上面的查询运行良好。
我希望得到电子邮件地址的结果,对于这些地址,TableID具有不同的值,如123,421。
那么,当我编写以下查询时,为什么在MySQLWorkbencch中返回0结果?
SELECT count(DISTINCT(email_address))
FROM Mytable
WHERE TableID = '101'
AND Table