select 语句, 如何一条实现, 先排序后分组?
select 语句, 如何一条实现, 先排序后分组? 问题点数:30、回复次数:10Top
1 楼guanjm(坚持到底)回复于 2005-05-13 10:55:27 得分 2
你至少要把表,字段,实现效果告诉我们吧
Top
2 楼leo963258(我劝天公重抖擞,不拘一格降人才)回复于 2005-05-13 10:57:37 得分 8
select * from table group by id having id=5 order by id descTop
3 楼fristfly(再来, 再来)回复于 2005-05-13 11:10:55 得分 0
就是先按一个字段排完后, 再找到每一类最大得.
比如说, 两个字段
col
integral
表内容如下
====================
col integral
1 10
1 11
1 9
2 8
2 7
2 43
====================
找出每类的最大的integral记录.
Top
4 楼guanjm(坚持到底)回复于 2005-05-13 11:24:20 得分 20
select col,max(integral) from table group by col order by colTop
5 楼fristfly(再来, 再来)回复于 2005-05-13 12:23:04 得分 0
不对Top
6 楼guanjm(坚持到底)回复于 2005-05-13 12:36:09 得分 0
怎么不对?就是这样写的那你把效果写出来是这样吗?
就是先按一个字段排完后, 再找到每一类最大得.
比如说, 两个字段
col
integral
表内容如下
====================
col integral
1 10
1 11
1 9
2 8
2 7
2 43
====================
找出每类的最大的integral记录.
效果如下?
col integral
1 11
2 43Top
7 楼fristfly(再来, 再来)回复于 2005-05-13 13:03:00 得分 0
虽然能找到 integral记录中最大得数据, 但是那条记录找不到.
Top
8 楼guanjm(坚持到底)回复于 2005-05-13 13:09:08 得分 0
虽然能找到 integral记录中最大得数据, 但是那条记录找不到.
---------------------------------------------------------
你是这个意思?那这样写
select a.* from table a
inner join
(select col,max(integral) as integral from table group by col ) b
on a.col=b.col and a.integral=b.integral
order by a.col
这样就可以了
Top
9 楼fristfly(再来, 再来)回复于 2005-05-13 13:41:31 得分 0
首先对guanjm(st.human) 表示真诚的感謝
好像这一句在mysql 中不支持
Top
10 楼guanjm(坚持到底)回复于 2005-05-13 16:08:00 得分 0
你是MYSQL啊?不早说?我以为是MSSQL或ORACLE呢Top




