`
anyue100
  • 浏览: 2919 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

谁来把这个distinct换成exists

阅读更多
SELECT LICENSE_NAME,USER_GROUP_NAME, AVG(USAGE) AS USAGE,
AVG(LICENSE_TOTAL) AS LICENSE_TOTAL,count(distinct CHECKOUTTIME) AS USERASKTIMES
FROM FLEXLM_LICENSE_USAGE a LEFT JOIN user_group as b
ON a.USER_NAME = b.USER_NAME and a.sampling_time = b.sampling_time
WHERE a.sampling_time >='2013-03-01 00:00:00' and a.sampling_time <'2013-03-31 00:00:00'
  AND to_char(a.sampling_time, 'mi')='00'
GROUP BY USER_GROUP_NAME,LICENSE_NAME
ORDER BY USER_GROUP_NAME;

这个SQL执行后,发现主要时间耗在了count(distinct CHECKOUTTIME)上,因此想想其换种写法试试,自己写了下没写出来,请大侠们来讨论下
分享到:
评论

相关推荐

    精典的SQL语句。行转列,列转行的语句

    这个SQL语句使用了一个自定义函数fmerg,该函数将pid列合并成一个字符串,然后使用select语句来调用该函数。 三、取得数据表的所有列名 有时候,我们需要取得一个数据表的所有列名。我们可以使用以下SQL语句来实现...

    部分普通sql查询在hive中的实现方式

    这个查询中,虽然有两条`COUNT(DISTINCT)`语句,但因为它们作用于相同的列`pv_users.userid`,所以可以被Hive正确解析。 - **问题场景**:然而,当两个`COUNT(DISTINCT)`分别作用于不同的列时,Hive无法正确执行该...

    Oracle SQL优化

    - **方法**: 在查询中使用EXISTS来避免DISTINCT带来的性能损失。 ##### 3.22 识别“低效执行”的SQL语句 - **工具**: 使用Oracle提供的性能监控工具,如V$SQL、V$SESSION等。 ##### 3.23 使用TKPROF工具来查询SQL...

    Oracle SQL优化.pdf

    使用`EXISTS`子查询来代替`DISTINCT`关键字,可以避免全表扫描,提高查询速度。 **19. 识别“低效执行”的SQL语句** 定期审查执行计划,找出执行效率低下的SQL语句,并进行优化。 **20. 使用TKPROF工具来查询SQL...

    数据库原理作业21

    这个查询通过`JOIN`操作连接了`course`和`course_selection`表,根据课程号匹配,并筛选出学号为S101的学生所选的课程及其对应的成绩。 2. **查找C101这门课程最高分的学生及其成绩**: SQL语句为: ```sql ...

    Oracle SQL性能优化.doc

    - **DISTINCT与EXISTS**:使用EXISTS来实现DISTINCT的效果可以提高查询效率。 #### 十九、识别"低效执行"的SQL语句 - **性能分析**:定期检查SQL执行计划,识别并优化低效的SQL语句。 #### 二十、使用TKPROF工具...

    SQL示例大全.pdf

    例如,下面的示例展示了如何声明一个局部变量 `@find` 并设置其值为 `'Man%'`,然后使用这个变量来检索所有姓氏以“Man”开头的联系人信息。 ```sql USE AdventureWorks; GO DECLARE @find varchar(30); SET @find ...

    oracle交叉表sql

    需要注意的是,虽然这个例子是基于MySQL语法编写的(如`DELIMITER $$`等),但在Oracle环境下实现类似的逻辑时,需要转换成Oracle支持的语法。例如,Oracle中使用`/`作为结束符,以及使用PL/SQL块来组织逻辑等。

    ORACLE_SQL优化

    - **优化建议**:考虑使用`LEFT JOIN`结合`IS NULL`来替代`NOT IN`或`NOT EXISTS`。 ##### 2.6 IN和EXISTS - **问题描述**:使用`IN`可能会导致性能下降。 - **优化建议**:对于大量数据集,使用`EXISTS`通常比`IN...

    数据库SQL基本语句(半天即可学会,轻松简单)

    子查询是一种将一个SELECT语句嵌套在另一个SELECT语句内部的查询形式,而EXISTS关键字用于检查子查询是否返回数据。CASE语句用于在SELECT语句中实现条件逻辑,实现数据的条件处理。 SQL语法是执行查询和数据库操作...

    数据库原理第11讲.ppt

    SELECT DISTINCT * FROM Student WHERE Sdept = 'CS' OR Sage ; ``` 在并操作中,所有参与合并的查询块必须具有相同的列数,并且对应列的数据类型必须匹配。 2. **交操作 (INTERSECT)** 交操作用于获取两个...

    MySQL中对于not in和minus使用的优化

    虽然 `MINUS` 在 MySQL 中不是内置的操作符,这里可能是通过转换成 `LEFT JOIN` 或 `NOT EXISTS` 来实现的。这种方法通常比 `NOT IN` 更高效,因为它避免了多次的行比较,尤其是在子查询返回大量重复值时。 优化后...

    SQL编码规范.pdf

    - **建议6.15 用EXISTS替换DISTINCT**:在某些场景下,使用EXISTS代替DISTINCT可以减少处理时间。 - **建议6.17 避免在索引列上使用计算**:计算会导致索引失效,从而降低查询效率。 - **建议6.18 避免在索引列上...

    oracle sql性能优化

    9. **整合简单、无关联的数据库访问**:将多个独立查询组合成一个联合查询或子查询,可以减少网络通信和上下文切换。 10. **删除重复记录**:使用DISTINCT关键字去除结果集中的重复行,或者定期清理表中的重复数据...

    16-17 数据库试卷2

    这通过数据库管理系统(DBMS)提供的查询优化器来实现,它负责将用户的SQL语句转换成针对特定存储结构的最佳执行计划。 2. 逻辑数据独立性:保护应用程序免受数据逻辑结构变化的影响。通过数据库模式和外模式的概念...

    数据库SQL的优化的实现

    - 在某些情况下,可以使用`GROUP BY`来替代`DISTINCT`。 10. **避免子查询** - 减少嵌套子查询的使用,尽可能将其转换为连接查询。 - 避免在子查询中使用聚合函数,这可能导致额外的计算开销。 11. **设置查询...

    oracle 学习笔记

    6. 拼接运算符“||”用于将多个字符串连接成一个字符串。 7. 文字字符串用于表示文本数据。 8. 使用DISTINCT关键字可以消除查询结果中的重复行。 9. Select语句中还应注意其他一些细节,如数据类型匹配和表达式优化...

    实验五-SQL语言.doc

    SELECT St_Name FROM st_info WHERE St_ID IN (SELECT DISTINCT St_ID FROM s_c_info WHERE NOT EXISTS (SELECT * FROM s_c_info WHERE St_ID = '2001050105' AND NOT EXISTS (SELECT * FROM s_c_info WHERE St_...

Global site tag (gtag.js) - Google Analytics