Tag: sql

Rails原始的SQL例子

我怎样才能将此代码转换为原始的SQL和在rails中使用? 因为当我在heroku中部署这段代码时,有一个请求超时error.I认为这将更快,如果我使用原始的SQL。 @payments = PaymentDetail.joins(:project).order('payment_details.created_at desc') @payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc') @all_payments = (@payments + @payment_errors)

GROUP BY与MAX(date)

我试图列出每个列车的最新目的地(最大出发时间), 例如 : Train Dest Time 1 HK 10:00 1 SH 12:00 1 SZ 14:00 2 HK 13:00 2 SH 09:00 2 SZ 07:00 理想的结果应该是: Train Dest Time 1 SZ 14:00 2 HK 13:00 我曾尝试使用 SELECT Train, Dest, MAX(Time) FROM TrainTable GROUP BY Train 由于我得到了一个“ora-00979不是GROUP BYexpression式”的错误,说我必须在我的group by语句中包含“Dest”。 但肯定不是我想要的 是否可以在一行SQL中执行?

在MySQL中SELECT DISTINCT或GROUP BY更快吗?

如果我有一张桌子 CREATE TABLE users ( id int(10) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, profession varchar(255) NOT NULL, employer varchar(255) NOT NULL, PRIMARY KEY (id) ) 我想获得profession领域的所有独特价值,什么会更快(或推荐): SELECT DISTINCT u.profession FROM users u 要么 SELECT u.profession FROM users u GROUP BY u.profession ?

LINQ to SQL – 左外部连接多个连接条件

我有以下SQL,我正在尝试转换为LINQ: SELECT f.value FROM period as p LEFT OUTER JOIN facts AS f ON p.id = f.periodid AND f.otherid = 17 WHERE p.companyid = 100 我已经看到了左外连接的典型实现(即into x from y in x.DefaultIfEmpty()等),但是不确定如何引入其他连接条件( AND f.otherid = 17 ) 编辑 为什么AND f.otherid = 17条件部分JOIN,而不是在WHERE子句? 因为f可能不存在的一些行,我仍然希望这些行被列入。 如果在WHERE子句中应用条件,则在JOIN之后 – 那么我不会得到我想要的行为。 不幸的是: from p in context.Periods join f in context.Facts on […]

SQL统计所有行而不是统计单个行

我有一个从数据库中请求数据的SQL语句。 SELECT `ID`, `To`, `Poster`, `Content`, `Time`, ifnull(`Aura`,0) as `Aura` FROM ( SELECT * FROM ( SELECT DISTINCT * FROM messages m INNER JOIN ( SELECT Friend2 as Friend FROM friends WHERE Friend1 = '1' UNION ALL SELECT Friend1 as Friend FROM friends WHERE Friend2 = '1' ) friends ON m.Poster = friends.`Friend` UNION ALL […]

什么是最常见的SQL反模式?

我们所有使用关系数据库的人都学习(或正在学习)SQL是不同的。 获得期望的结果,并有效地这样做,涉及到一个乏味的过程,部分特点是学习不熟悉的范例,并发现我们最熟悉的一些编程模式在这里不起作用。 什么是你见过的(或者你自己犯的)常见的反模式?

SQL查询以获得聚合结果在逗号分隔符以及逐列在SQL Server中

我需要在表上写一个SQL查询,以便结果将有分组的列与逗号分隔符的聚合列。 我的表格将采用以下格式 |““““`|““““| | ID | Value | |_________|________| | 1 | a | |_________|________| | 1 | b | |_________|________| | 2 | c | |_________|________| 预期结果应采用以下格式 |““““`|““““| | ID | Value | |_________|________| | 1 | a,b | |_________|________| | 2 | c | |_________|________|

我可以在SQL存储过程中传递列名作为input参数吗?

create procedure sp_First @columnname varchar AS begin select @columnname from Table_1 end exec sp_First 'sname' 我的要求是传递列名作为input参数。 我这样试过,但是输出错了。 所以帮帮我

mysql_real_escape_string()是否被破坏?

有些人认为mysql_real_escape_string()有一些缺陷,即使正确使用,也不能保护你的查询。 带来一些化石的文章作为certificate。 所以,问题是:mysql [i] _real escape_string()完全不可接受? 还是可以使用这个函数来创build自己的准备好的语句? 请用校对码。

T-SQLdynamic数据透视表

好吧,我有一张表,看起来像这样 ItemID | ColumnName | Value 1 | name | Peter 1 | phone | 12345678 1 | email | peter@host.com 2 | name | John 2 | phone | 87654321 2 | email | john@host.com 3 | name | Sarah 3 | phone | 55667788 3 | email | sarah@host.com 现在我需要把它变成这样: ItemID | name […]