MySQL分组查询,前3条数据

SELECT
	tpn.news_id,
	tpn.title,
	tpn.news_group_id,
	tpn.send_date
FROM
	t_pm_news tpn
WHERE
	3 > (
		SELECT
			COUNT(*)
		FROM
			t_pm_news t
		WHERE
			tpn.news_group_id = t.news_group_id AND tpn.send_date <= t.send_date
	)

注:时间相同可能会有误差

时间: 2024-10-05 23:27:10

MySQL分组查询,前3条数据的相关文章

mysql分组查询前n条数据

建表: CREATE TABLE hard(id INT,aa varchar(50) ,bb INT,PRIMARY key(id))insert into hard values(1,'a',9)insert into hard values(2,'a',7)insert into hard values(3,'a',8)insert into hard values(4,'a',6) insert into hard values(5,'b',2)insert into hard valu

查询前几条数据

SQL查询前10条的方法为: 1.select top X *  from table_name --查询前X条记录,可以改成需要的数字,比如前10条. 2.select top X *  from table_name order by colum_name desc --按colum_name属性降序排序查询前X条记录,“order by” 后紧跟要排序的属性列名,其中desc表示降序,asc表示升序(默认也是升序方式). 3.select top n * from (select top 

Oracle查询前几条数据的方法

在Oracle中实现select top N:由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询.简单地说,实现方法如下所示:select 列名1 ...列名n from(select 列名1 ...列名n    from 表名 order by 列名1)where rownum <=N(抽出记录数)order by rownum asc 如:select id,name from (selec

数据库查询前10条数据

Oracle中查询 select * from table where rownum<=10; DB2中查询 select * from table fetch first 10 rows only; MySql中查询 select * from table limit 10;

mysql 查询前几条数据

limit是mysql的语法select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条.select * from tablename limit 2,4即取出第3条至第6条,4条记录 原文地址:https://www.cnblogs.com/liangliping/p/10193745.html

oracle查询前N条数据的两种方式

在实际用途中,常常会要求取表中前几条纪录,就有以下两种方式来获取数据: 先排序后查询: SELECT * FROM (SELECT * FROM 表 m ORDER BY create_time DESC) WHERE ROWNUM <= 10 , 先查询后排序: SELECT *  FROM 表 m  WHERE ROWNUM <= 10 ORDER BY create_time DESC; 原文地址:https://www.cnblogs.com/zoushiyu/p/9746550.ht

linq to sql 怎么查询前 11 条数据

(from 新表 in db.books where 新表.bookid < 400 select 新表).Take(11); storeDB.Albums.OrderByDescending(a => a.OrderDetails.Count()).Take(count).ToList();数据上下文.Albums数据表.倒序排序(条件为按照各数据关联的OrderDetails数据表中数据的条数).拿记录(count条).立即执行转为list

oracle 查询前30条数据

 select * from (select a.*,rownum as rn from tetm_ad_type  a) b where b.rn<30 --表名不能用as 字段取别名,直接在表名后面跟一个newName 就算别名了.字段 名能够用as 取别名.  事实上我都是乱写的. oralce

oracle取分组的前N条数据

select * from(select animal,age,id, row_number()over(partition by animal order by age desc) row_num from zoo) where row_num <=5; http://bbs.csdn.net/topics/350001717