sql多条件分组查询,求sql语句。

2023-12-11 06:24:25
推荐回答(5个)
回答(1):

sql多条件分组查询举例:
比如有两张表:
表一:
姓名 分数
——————
李一 2
李二 1
李三 1
张一 3
张二 2
张三 2
……

表二:


——



要查询表二中的姓的数据对表一进行分组,然后将分数统计出来。

sql语句写法如下:
SELECT
b. NAME,
sum(a.score) AS 分数
FROM
tb1 a
LEFT JOIN tb2 b ON SUBSTR(a.name FROM 1 FOR 1)= b.`name`
GROUP BY
b. NAME;

这个是Mysql的写法 Oracle把SubStr函数改一下就可以了。

回答(2):

select t.*
from (select a.name, a.date
from testU a
group by a.name, a.num
order by a.name, a.num desc) t
left join
(select name, max(date) date from testU group by name
) b on t.name = b.name
order by b.date desc, t.datedesc;

弄了半天才出来,试了可以,望采纳!

回答(3):

分组是用来聚集汇总的,如求平均、求总和、求最大等
你这个不需要分组,直接排序就可以了

select name, date from table order by name asc, date desc

 如果每组要按date的降序排列,也挺简单

with t1 as (select name, max(date) md from table group by name,

t2 as (select table.name name, table.date date, t1.md from table join t1 on table.name=t1.name

order by t1.md)

select name,date from t2

回答(4):

楼主,标准的SQL如下:
select name,date from table group by name,date;

请采纳!

回答(5):

select name , date from tabel order by name , date