如何从表中的特定列获取类似值

编程入门 行业动态 更新时间:2024-10-10 07:29:19
本文介绍了如何从表中的特定列获取类似值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一张EMP_A表。以下是表值 - ENAME DEPT-NAME指定薪资日期

FARAH RESEARCH ANALYST 30000 Dec 03 , 1991 TOMAR SALES SALESMAN 15000 9月 08 , 2001 SAXENA SALES SALESMAN 12500 9月 28 , 1999 TOMAR SALES SALESMAN 14500 2月 22 , 1997 ANAND RESEARCH CLERK 11000 Jan 12 , 1993

如何通过sim找到员工ilar名字,并显示他们的名称,部门和加入数据。 请帮帮我。 我已经尝试过以下查询,但有一些错误。

SELECT ENAME,DESIGNATION,DEPT_NAME,DATE_OF_JOIN,COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME,DATE_OF_JOIN HAVING COUNT(*)> 1;

解决方案

Bittu14, 如果您正在寻找具有相同名称(不相似)的重复条目,您的查询是:

SELECT ENAME,COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME HAVING COUNT(*)> 1;

然后,如果您需要显示这些重复名称的其他字段,您可以考虑将其用作子查询:

SELECT ENAME,DESIGNATION,DEPT_NAME,DATE_OF_JOIN FROM EMP_A WHERE ENAME IN ( SELECT ENAME, COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME HAVING COUNT(*)> 1 ) ORDER BY ENAME

F。

H i 为您的解决方案创建临时表并插入如下查询记录

选择名称,ROW_NUMBER() OVER ( PARTITION BY base.Name 订单 按名称) AS 重复 来自 EMP_A AS base 其中 FirstName = ' 10Feb2015'

根据解决方案#2 试试这个

选择 e.ENAME,DESIGNATION,DEPT,DATEOFJOIN 来自员工e,( SELECT eName,ROW_NUMBER() OVER ( PARTITION BY ename 订单 按 ename) AS 重复 来自 employee ) AS temp WHERE temp.ENAME = e.Ename 和 duplicate = 2

I have one EMP_A table. Below is the table value - ENAME DEPT-NAME DESIGNATION SALARY DATE-OF-JOIN

FARAH RESEARCH ANALYST 30000 Dec 03, 1991 TOMAR SALES SALESMAN 15000 Sep 08, 2001 SAXENA SALES SALESMAN 12500 Sep 28, 1999 TOMAR SALES SALESMAN 14500 Feb 22, 1997 ANAND RESEARCH CLERK 11000 Jan 12, 1993

How I will find the employees with similar names and display their designation, department and data of join. Please help me out. I have tried this below query, but some error is there.

SELECT ENAME, DESIGNATION, DEPT_NAME, DATE_OF_JOIN, COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME, DATE_OF_JOIN HAVING COUNT(*)>1;

解决方案

Bittu14, If you are looking for duplicate entry with the same name (not similar) your query is:

SELECT ENAME, COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME HAVING COUNT(*)>1;

Then, if you need to show additional fields for these duplicate names you may consider using it as subquery:

SELECT ENAME, DESIGNATION, DEPT_NAME, DATE_OF_JOIN FROM EMP_A WHERE ENAME IN ( SELECT ENAME, COUNT(*) AS CountOf FROM EMP_A GROUP BY ENAME HAVING COUNT(*)>1 ) ORDER BY ENAME

F.

Hi for your solution create temp table and insert record like below query

select Name,ROW_NUMBER() OVER( PARTITION BY base.Name order by name) AS duplicate from EMP_A AS base where FirstName = '10Feb2015'

and after search from main table with join of temp table like in join clause base.name = temp.main and duplicate = 2 by using this step i hope you get your solution thanks Uttam katariya

As per solution #2 try this

Select e.ENAME, DESIGNATION, DEPT, DATEOFJOIN from Employee e , ( SELECT eName,ROW_NUMBER() OVER( PARTITION BY ename order by ename) AS duplicate from employee ) AS temp WHERE temp.ENAME = e.Ename and duplicate = 2

更多推荐

如何从表中的特定列获取类似值

本文发布于:2023-11-05 03:01:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1559729.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类似

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!