我需要一些帮助来理清一些东西,我知道这是一个非常简单的问题,但是这在SQL中会让我感到困惑。 此SQL查询在Oracle中引发“不是GROUP BYexpression式”错误。 我明白为什么,据我所知,一旦我通过元组的属性分组,我不能再访问任何其他属性。 SELECT * FROM order_details GROUP BY order_no 但是这个工作 SELECT SUM(order_price) FROM order_details GROUP BY order_no 只是为了具体了解我的理解。假设每个order_details中有多个元组,我一旦按照order_no对元组进行分组,我仍然可以访问组中每个元组的order_price属性,但只使用聚合函数? 换句话说,在SELECT子句中使用聚合函数时,能够深入到组中查看“隐藏”属性,只需使用“SELECT order_no”就会引发错误? 感谢您的帮助,澄清这一点,我很难在Google上find这个具体问题的答案。 克里斯
好的,我有一张这样的桌子: ID Signal Station OwnerID 111 -120 Home 1 111 -130 Car 1 111 -135 Work 2 222 -98 Home 2 222 -95 Work 1 222 -103 Work 2 这一切都是在同一天。 我只需要查询返回每个ID的最大信号: ID Signal Station OwnerID 111 -120 Home 1 222 -95 Work 1 我尝试使用MAX()和聚合混乱,站和OwnerID是不同的每个logging。 我需要join吗?
我想在Oracle数据库中创build一个临时表 就像是 Declare table @table (int id) 在SQL服务器 而不是用select语句填充它 可能吗? 谢谢
在下面的查询中,你会考虑哪种方法更好? 你有什么理由(代码效率,更好的可维护性,lessWTFery)… SELECT MIN(`field`) FROM `tbl`; SELECT `field` FROM `tbl` ORDER BY `field` LIMIT 1;
我试图在PostgreSQL 9.3中testingjsontypes。 我有一个称为reports的json列称为data 。 JSON看起来像这样: {"objects":[{"src":"foo.png"},{"src":"bar.png"}],"background":"background.png"} 我想查询表中所有与“对象”数组中的“src”值相匹配的报告。 例如,是否可以查询所有与'src' = 'foo.png'匹配'src' = 'foo.png'报表的DB? 我成功地写了一个可以匹配"background"的查询: SELECT data AS data FROM reports where data->>'background' = 'background.png' 但是由于"objects"具有一系列的价值,我似乎无法写出一些有效的东西。 是否有可能查询所有符合'src' = 'foo.png' ? 我已经通过这些来源,但仍然无法得到它: http://www.postgresql.org/docs/9.3/static/functions-json.html 如何使用新的PostgreSQL JSON数据types中的字段进行查询? http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/ 我也尝试过这样的事情,但无济于事: SELECT json_array_elements(data->'objects') AS data from reports WHERE data->>'src' = 'foo.png'; 我不是SQL专家,所以我不知道我在做什么错。
我正在使用Sql server 2012(Denali)。 我只是想知道为什么所有的标识列值从1001开始,依此类推。 在开始标识列从1,2开始,依此顺序添加标识,但突然跳到1001,1002以后,包含标识列的数据库中的所有表都跳转到1001,1002。 可能是什么原因。 请协助。
我Google [d]为这个错误ORA-12560:TNS:协议适配器错误,但无法find实际的原因,以及如何解决这个错误? 谁能告诉我一个完美的解决scheme来解决login问题。
我正在编写一个导入实用程序,将电话号码用作导入中的唯一键。 我需要检查电话号码是否已经存在于我的数据库中。 问题是,在数据库中的电话号码可能有像破折号和括号,可能还有其他的东西。 我写了一个函数来删除这些东西,问题是,它是缓慢的,我的数据库中有成千上万的logging,同时导入了数千个logging,这个过程可能会慢得令人无法接受。 我已经把电话号码栏作为索引。 我尝试使用这个post的脚本: T-SQL trim(和其他非字母数字字符) 但是这并没有加速。 有没有更快的方法来删除非数字字符? 当10,000到100,000条logging必须进行比较时,这个function可以很好地发挥作用。 无论做什么都需要快速执行。 更新 鉴于人们的反应,我想我将不得不清理领域之前,我运行导入实用程序。 为了回答我在编写导入实用程序的问题,它是一个C#应用程序。 现在我正在比较BIGINT和BIGINT,不需要改变DB数据,而且我仍然用非常小的一组数据(约2000条logging)进行性能testing。 可以比较BIGINT和BIGINT会减慢速度吗? 我尽可能地优化了应用程序的代码端(删除了正则expression式,删除了不必要的数据库调用)。 尽pipe我不能将SQL隔离为问题的根源,但我依然觉得这是事实。
在从两个表中提取数据时,如何以编程方式对联合查询进行sorting? 例如, SELECT table1.field1 FROM table1 ORDER BY table1.field1 UNION SELECT table2.field1 FROM table2 ORDER BY table2.field1 引发exception 注意:这是试图在MS Access Jet数据库引擎上
我想知道如果我有一个这样的联接查询 – Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id 和一个像这样的子查询 – Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept) 当我考虑性能哪两个查询会更快, 为什么 ? 还有一段时间,我应该比另一个更喜欢? 对不起,如果这太微不足道了,但我很困惑。 另外,如果你们可以build议我使用工具来衡量两个查询的性能,那将是非常好的。 非常感谢!