Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

10
删除SQL Server中的重复记录?
考虑一个名为EmployeeNametable 的列Employee。目标是根据该EmployeeName字段删除重复的记录。 EmployeeName ------------ Anand Anand Anil Dipak Anil Dipak Dipak Anil 我要使用一个查询,删除重复的记录。 如何在SQL Server中使用TSQL做到这一点?




11
如何立即终止/停止长的SQL查询?
我正在使用SQL Server 2008及其管理工作室。我执行了产生许多行的查询。我试图通过红色的“取消”按钮将其取消,但在过去的10分钟内仍未停止。通常会在3分钟内停止。 原因可能是什么?如何立即停止?

2
使用另一个MySQL值更新一个MySQL表
我正在尝试根据另一个MySQL信息更新一个MySQL表。 我的original桌子看起来像: id | value ------------ 1 | hello 2 | fortune 3 | my 4 | old 5 | friend 而tobeupdated表如下所示: uniqueid | id | value --------------------- 1 | | something 2 | | anything 3 | | old 4 | | friend 5 | | fortune 我想更新id在tobeupdated与id来自original基于value(存储在字符串VARCHAR(32)字段)。 希望更新后的表如下所示: …
93 mysql  sql 

5
我可以让H2在内存数据库中自动创建架构吗?
(我已经看过H2数据库在内存中-通过Spring / Hibernate问题的初始化架构;在这里不适用。) 我想知道H2中是否有设置,可以让我在连接到它时自动创建一个模式。如果有帮助,我只对内存中的情况感兴趣。 H2在URL的末尾支持各种用分号分隔的修饰符,但是我找不到用于自动创建模式的修饰符。有这样的功能吗?
93 java  sql  database  h2 

3
LINQ中的Include()有什么作用?
我尝试进行了大量研究,但我更像是数据库专家-因此,即使MSDN中的解释对我也没有任何意义。谁能解释一下,并提供一些示例Include()说明在SQL查询期间执行什么语句?
93 sql  linq 

7
有没有办法访问SELECT语句中的“上一行”值?
我需要计算表的两行之间的列差。有什么办法可以直接在SQL中执行此操作?我正在使用Microsoft SQL Server 2008。 我正在寻找这样的东西: SELECT value - (previous.value) FROM table 假设“上一个”变量引用了最近选择的行。当然,通过这样的选择,我最终将在具有n行的表中选择n-1行,这可能不是,实际上正是我所需要的。 有可能吗?

9
Python SQL查询字符串格式
我正在尝试找到格式化sql查询字符串的最佳方法。在调试应用程序时,我想记录所有sql查询字符串的文件,正确设置字符串的格式很重要。 选项1 def myquery(): sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2" con = mymodule.get_connection() ... 这对于打印sql字符串很有用。 如果字符串太长且不适合80个字符的标准宽度,则不是一个好的解决方案。 选项2 def query(): sql = """ select field1, field2, field3, field4 from table where condition1=1 and condition2=2""" con = mymodule.get_connection() ... 这里的代码很清楚,但是当您打印sql查询字符串时,会得到所有这些烦人的空格。 的u '\ n选取FIELD1,FIELD2,字段3,字段4 \ N_ …

10
在一个时间范围内分为5分钟间隔
我要执行的mySQL命令有一些困难。 SELECT a.timestamp, name, count(b.name) FROM time a, id b WHERE a.user = b.user AND a.id = b.id AND b.name = 'John' AND a.timestamp BETWEEN '2010-11-16 10:30:00' AND '2010-11-16 11:00:00' GROUP BY a.timestamp 这是我当前的输出语句。 timestamp name count(b.name) ------------------- ---- ------------- 2010-11-16 10:32:22 John 2 2010-11-16 10:35:12 John 7 2010-11-16 10:36:34 …
93 mysql  sql  group-by 

6
MySQL“ IN”运算符在(大)数量值上的性能
我最近一直在使用Redis和MongoDB进行实验,似乎经常会在MongoDB或Redis中存储ID数组。因为我要询问MySQL IN运算符,所以我会坚持使用Redis 。 我想知道在IN运算符中列出大量(300-3000)id的性能如何,看起来像这样: SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) 想象一下简单的产品和类别表,您通常可以将它们结合在一起以从某个类别中获得产品。在上面的示例中,您可以看到在Redis()中的给定类别下,我返回了ID为4的类别中的所有产品ID,并将其放置在运算符内的上述查询中。category:4:product_idsSELECTIN 这表现如何? 这是“取决于情况”的情况吗?还是有一个具体的“不可接受”,“快速”或“缓慢”,或者我应该添加LIMIT 25,还是没有帮助? SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) LIMIT 25 还是应该修剪Redis返回的产品ID的数组以将其限制为25,并且仅将25个ID添加到查询中而不是添加3000,并LIMIT从查询内部将其添加到25? SELECT id, name, price FROM products WHERE id IN …


5
org.postgresql.util.PSQLException:致命:抱歉,已经有太多客户端
我正在尝试连接到Postgresql数据库,出现以下错误: 错误:org.postgresql.util.PSQLException:致命:抱歉,已经有太多客户端 错误是什么意思,我该如何解决? 我的server.properties文件如下: serverPortData=9042 serverPortCommand=9078 trackConnectionURL=jdbc:postgresql://127.0.0.1:5432/vTrack?user=postgres password=postgres dst=1 DatabaseName=vTrack ServerName=127.0.0.1 User=postgres Password=admin MaxConnections=90 InitialConnections=80 PoolSize=100 MaxPoolSize=100 KeepAliveTime=100 TrackPoolSize=120 TrackMaxPoolSize=120 TrackKeepAliveTime=100 PortNumber=5432 Logging=1
93 java  sql  postgresql  jdbc 

12
来自Sql数据库的简单随机样本
如何在SQL中获取有效的简单随机样本?有关的数据库正在运行MySQL。我的表至少有200,000行,我想要一个大约10,000的简单随机样本。 “显而易见”的答案是: SELECT * FROM table ORDER BY RAND() LIMIT 10000 对于大表,这太慢了:它调用RAND()每一行(已经将它放在O(n)上),并对它们进行排序,使其充其量为O(n lg n)。有没有办法比O(n)更快地做到这一点? 注意:正如Andrew Mao在评论中指出的那样,如果在SQL Server上使用这种方法,则应该使用T-SQL函数NEWID(),因为RAND()可能对所有行返回相同的值。 编辑:5年后 我再次遇到了一个更大的表的问题,最终使用了@ignorant解决方案的一个版本,并进行了两次调整: 将行采样到我所需样本大小的2-5倍,以便宜的价格 ORDER BY RAND() 将结果保存RAND()到每次插入/更新的索引列中。(如果您的数据集不是很重更新,则可能需要寻找另一种方法来保持此列的更新。) 要获取一个表的1000个项目的样本,我对数据行进行计数,并使用Frozen_rand列对结果进行平均采样,平均减少到10,000行: SELECT COUNT(*) FROM table; -- Use this to determine rand_low and rand_high SELECT * FROM table WHERE frozen_rand BETWEEN %(rand_low)s AND %(rand_high)s ORDER BY RAND() …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.