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

2024-11-23 18:40:24
推荐回答(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