Questions tagged «sql»

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

10
postgresql-SQL-`true`值的计数
myCol ------ true true true false false null 在上表中,如果这样做: select count(*), count(myCol); 我懂了 6, 5 我得到,5因为它不计算空条目。 如何计算真实值的数量(示例中为3)? (这是一种简化,实际上我在count函数中使用了一个复杂得多的表达式) 编辑摘要:我也想在查询中包含一个简单的count(*),所以不能使用where子句
97 sql  postgresql 

13
使用Python连接到Microsoft SQL Server
我正在尝试通过python连接到SQL,以便在Microsoft SQL服务器上的某些SQL数据库上运行一些查询。从我的在线研究和该论坛上的研究来看,最有前途的图书馆似乎是pyodbc。所以我做了下面的代码 import pyodbc conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+; database=+MSQLDatabase+; trusted_connection=true") cursor = conn.cursor() 并得到以下错误 Traceback (most recent call last): File "C:\Users...\scrap.py", line 3, in <module> conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+; database=+MSQLDatabase+; trusted_connection=true") pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 我查看了以下文章,并尝试将驱动程序更改为{sql …
97 python  sql  windows 


6
MySQL的“分组依据”和“排序依据”
我希望能够从电子邮件表中选择一堆行并将其按发件人分组。我的查询如下所示: SELECT `timestamp`, `fromEmail`, `subject` FROM `incomingEmails` GROUP BY LOWER(`fromEmail`) ORDER BY `timestamp` DESC 该查询几乎可以按我需要的方式工作-它选择按电子邮件分组的记录。问题在于主题和时间戳与特定电子邮件地址的最新记录不符。 例如,它可能返回: fromEmail: john@example.com, subject: hello fromEmail: mark@example.com, subject: welcome 当数据库中的记录是: fromEmail: john@example.com, subject: hello fromEmail: john@example.com, subject: programming question fromEmail: mark@example.com, subject: welcome 如果“编程问题”主题是最新的,则如何在对电子邮件进行分组时让MySQL选择该记录?


4
通过SQL命令显示MySQL主机
Show Database Use database show tables Describe <table> 一切都很好,但是有可能显示当前的连接主机。不是connection_id,而是主机的IP地址或名称。
96 mysql  sql  database 

8
如何在MySQL中创建关系
在课堂上,我们都是“学习”数据库,每个人都在使用Access。厌倦了这一点,我试图做该类其余部分的工作,但是要使用MySQL的原始SQL命令而不是使用Access。 我已经设法创建数据库和表,但是现在如何在两个表之间建立关系? 如果我有两个这样的表: CREATE TABLE accounts( account_id INT NOT NULL AUTO_INCREMENT, customer_id INT( 4 ) NOT NULL , account_type ENUM( 'savings', 'credit' ) NOT NULL, balance FLOAT( 9 ) NOT NULL, PRIMARY KEY ( account_id ) ) 和 CREATE TABLE customers( customer_id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, …

3
删除临时表(如果存在)
我在SQL中有两行代码可以动态创建两个表,我需要执行以下操作 IF TABLE EXISTS DROP IT AND CREATE IT AGAIN ELSE CREATE IT 我的台词如下 CREATE TABLE ##CLIENTS_KEYWORD(client_id int) CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int) 如何在我的过程中将概念应用于这两个表?
96 sql  sql-server 

21
MySQL查询以选择上周的数据?
嗨,我有一个带有日期字段和一些其他信息的表。我想选择过去一周(从星期日开始的一周)中的所有条目。 表值: id date 2 2011-05-14 09:17:25 5 2011-05-16 09:17:25 6 2011-05-17 09:17:25 8 2011-05-20 09:17:25 15 2011-05-22 09:17:25 我想选择上周的所有ID,预期输出为5、6、8。 (ID 2不在上周,ID 15在本周。) 怎么写和SQL Query相同。
96 mysql  sql  database  datetime 


3
如何使用LINQ进行SELECT UNIQUE?
我有一个这样的清单: Red Red Brown Yellow Green Green Brown Red Orange 我正在尝试使用LINQ做一个SELECT UNIQUE,即我想要 Red Brown Yellow Green Orange var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name; 然后我将其更改为 var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name.Distinct(); 没有成功。第一个select获得所有颜色,那么如何修改它以仅获得唯一值? 如果有更好的方法来构造此查询,则不愿走那条路。 如何进行编辑,以便可以使用.OrderBy(“ column name”),即按字母顺序按颜色名称,即name属性? 我不断收到消息: …

8
TSQL-如何在BEGIN .. END块内使用GO?
我正在生成一个脚本,用于将更改从多个开发数据库自动迁移到暂存/生产中。基本上,它需要一堆更改脚本,并将它们合并为一个脚本,然后将每个脚本包装在一条IF whatever BEGIN ... END语句中。 但是,某些脚本需要一条GO语句,例如,SQL解析器在创建新列后就知道该列。 ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO -- Necessary, or next line will generate "Unknown column: EMP_IS_ADMIN" UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever 但是,一旦将其包装在一个IF块中: IF whatever BEGIN ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN …

6
如何使用具有多个结果的子查询将值插入表中?
非常感谢您的帮助。 也许这是一个很简单的问题,但我不是那个.. ;-) 我在SQL Server中有两个表: 文章 价格 现在,我想选择一组特定的ID,并使用这些ID将一些条目插入价格表。 例如(错误且不起作用的SQL) INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50); SQL错误->子查询具有多个值 感谢帮助
96 sql  insert  subquery 

9
PostgreSQL-获取具有列最大值的行
我正在处理一个Postgres表(称为“ lives”),该表包含带有time_stamp,usr_id,transaction_id和live_remaining列的记录。我需要一个查询,该查询将为我提供每个usr_id的最新live_remaining总数 有多个用户(与usr_id不同) time_stamp不是唯一的标识符:有时,用户事件(表中的每一行)将使用相同的time_stamp发生。 trans_id仅在很小的时间范围内才是唯一的:随着时间的流逝,它会重复 (对于给定的用户)剩余的生存时间可以随着时间增加和减少 例: time_stamp | lives_remaining | usr_id | trans_id ----------------------------------------- 07:00 | 1 | 1 | 1个 09:00 | 4 | 2 | 2 10:00 | 2 | 3 | 3 10:00 | 1 | 2 | 4 11:00 | 4 | 1 | 5 …

5
如何只为列的每个唯一值选择第一行
假设我有一张客户地址表: CName | AddressLine ------------------------------- John Smith | 123 Nowheresville Jane Doe | 456 Evergreen Terrace John Smith | 999 Somewhereelse Joe Bloggs | 1 Second Ave 在表中,一个客户(例如John Smith)可以有多个地址。我需要此表的选择查询,以仅返回在“ CName”中存在重复项的情况下找到的第一行。对于此表,它应返回除第3个(或第1个-这两个地址中的任何一个都可以,但只能返回一个)之外的所有行。是否可以根据服务器是否之前已经查看过列值将关键字添加到SELECT查询中进行过滤?

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.