sql语句2

sql语句求助2题目1:表a:字段:nameabcd要求:查询显示结果为namesum(abcd)题目2:表a:字段: nameagesalary要

sql语句求助2
题目1:
  表a:
  字段: name a b c d

  要求:查询显示结果为 name sum(abcd)


题目2:
  表a:
  字段: name age salary

  要求:查询年龄最大 但工资最低的员工名字(年龄有相同的,工资也是,符合两件的两个员工,则同时显示)

[解决办法]
1 sum 要处理的 是数字类型啊
 能否说一下你 这个是 做什么用的
难道是 abcd 四个字符连接在一起??

2 order by(age,salary)
不知道哪种效果?

[解决办法]
第一題

SQL code
WITH t AS(SELECT 'simon'NAME,100 a,200 b,300 c,400 d FROM dualUNION ALLSELECT 'angela',100,100,100,200 FROM dual)--不按name分组SELECT NAME,a+b+c+d FROM t--按name分组SELECT NAME,Sum(a+b+c+d) FROM t GROUP BY NAME
[解决办法]
探讨
回复3楼:我的意思就是 先把年龄最大的找出来(年龄优先),然后年龄最大为50岁,但有3个50岁的员工,然后再求这3个年龄最大的员工 谁的工资最低。 我个人觉得第二题 题目还是阐明了的哦。。

[解决办法]
探讨
引用:
回复3楼:我的意思就是 先把年龄最大的找出来(年龄优先),然后年龄最大为50岁,但有3个50岁的员工,然后再求这3个年龄最大的员工 谁的工资最低。 我个人觉得第二题 题目还是阐明了的哦。。

這樣

SQL code

WITH t AS(
SELECT 'simon'NAME,30 age,4000 salary FROM dual
UNION ALL ……

[解决办法]
探讨
引用:
引用:
回复3楼:我的意思就是 先把年龄最大的找出来(年龄优先),然后年龄最大为50岁,但有3个50岁的员工,然后再求这3个年龄最大的员工 谁的工资最低。 我个人觉得第二题 题目还是阐明了的哦。。

這樣

SQL code

WITH t AS(
SELECT 'simon'NAME,30 age,4000 salary FROM dua……

[解决办法]
SQL code
1.SELECT NAME,Sum(a+b+c+d) FROM a1 GROUP BY NAME2.select * from a2 where exists(select 1 from (select max(age) as ages,min(salary) as salarys from a2) z where z.ages=a2.age and z.salarys=a2.salary)
[解决办法]
with as table()..创建临时表
rn=1,是先利用DENSE_RANK()函数按年龄倒序工资升序排名,取排名第一的资料
这些语法的东西LZ可自行查阅资料应该都很容易查到..
[解决办法]
晕,第一题很简单,没那么复杂吧?用不到SUM的,直接a+b+c+d不就可以了
select name,a+b+c+d from a;

题二:
select name,age,salary from a where
age=(select max(age) from a)
and salary=(select min(salary) from a);