如何查询每个分组中的一条数据

SELECT ROW_NUMBER() OVER(PARTITION BY a.id ORDER BY 排序字段 desc,排序字段 desc)

FROM 表名

项目源码:

SELECT *  FROM (SELECT ROW_NUMBER() OVER(PARTITION BY a.id ORDER BY a.point_num desc,a.last_update_date desc) rn,
        a.a_id as aId,a.id as id,q.q_name as qName,a.a_details as aDetails,
        a.point_num as pointNum,u.user_name as userName,a.created_by as createdBy,
        a.creation_date as creationDate,a.last_update_date as lastUpdateDate
        FROM XXUN_QUESTIONS q,xxun_questions_answers a,xxun_user u  where  q.id=a.id and
        a.created_by=u.created_by and a.enable_flag=‘Y‘ order by a.point_num desc,a.last_update_date desc )
        WHERE rn = 1

时间: 2024-12-18 11:09:26

如何查询每个分组中的一条数据的相关文章

查询某个分组中多行字段值的拼接字串的方法--access

查询某个分组中多行字段值的拼接字串的方法 先收藏,后面再研究 access的SQL语法中没有自定义函数,也不能象SQL Server中一样用变量.游标.子查询等方法来灵活处理查询语句. 但是,在Access环境中,透过模块中的过程,可利用功能强大的VB语言,生成复杂需求的查询语句. 下面是本人今天在Access版块中的一个回复,以此例 access的SQL语法中没有自定义函数,也不能象SQL Server中一样用变量.游标.子查询等方法来灵活处理查询语句. 但是,在Access环境中,透过模块中

Bag标签之删除书包中的一条数据

删除书包中的一条数据 查询 <esql module=help id=list> Select ID,Subject,Writer,DayTime From Messages </esql> 删除前循环输出 <table border=1> <tr><th>ID</th><th>主题</th><th>作者</th><th>时间</th></tr> &l

使用JDBC向数据库中插入一条数据

原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * createStatement() 方法来获取 1.2 通过executeUpdate(sql) 的方法来执行SQL 1.3 * 传入的SQL可以是INSERT/UPDATE/DELETE,但不能是SELECT * * 2.Connection和Statement使用后一定要记得关闭 需要在finally

向数据库中插入10000条数据

今天,在进行项目测试的时候,想要事先在数据库中插入10000条数据.之前在SQLServer的期末项目中也使用过,但是却也记不清了. DELIMITER $$ --定义结束符为"$$", DROP PROCEDURE IF EXISTS `proc_auto_insertdata`$$ CREATE PROCEDURE `proc_auto_insertdata`() BEGIN DECLARE pid INTEGER DEFAULT 1; WHILE pid <= 10000

linq中分组查询而且获取每个分组中的第一条记录,数据用于分页绑定

LINQ分组取出第一条数据 Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" 以上list如果直接使用distinct方法进行过滤,仍然返回3条数据,而需要的结果是2条数据.下面给出解这个问题的方法: 方法1: Distinct 方法中使用的相等比较器.这个比较器需要重写Equals和GetHashCode方法,个人不推荐,感觉较

MySQL分组查询每组最新的一条数据

开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: -- ---------------------------- -- Table structure for test -- ---------------------------- DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10

如何随机从数据库表中抽一条数据的SQL语句

NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4 在 select 表的时候,再增加一列为 NewID() 就可以了. SQL 语句:select *, NewID() from table 这样每条记录后就会有一个随机的 GUID 值,我们再按这个 GUID 排一下序就可以达到乱序的效果. SQL 语句:select *, NewID() as random from table order by random 我们要想随机取

MySql 获取数据表中随机一条数据

通过sql语句获取数据表中的随意一条数据 -- rand() 获取0到1之间的随机浮点数 -- ((select max(id) from test) - (select min(id) from test)) * rand() 获取到随机数 -- + (select min(id) from test) 保证id为 最小ID与最大ID之间的数 select * from test where id >= ((select max(id) from test) - (select min(id)

jsp中一行多条数据情况

1.实现效果:点击新增会在之前文本框后一直新增文本框并且保留新增的图片 效果图: 2.jsp代码: <table class="Business_Table"> <tr> <td class="TableLabel_Left TableLabel_Tip"> <span style="float:left" class="bold">附着高度</span> </