我现在有张表结构大致如下
id,type,desc
id是自增的
type在1-6之间
desc是详细信息
我现在想对这张表 type 1到6之间 每个值取10秒记录
除了用union拼接6次以外还有什么办法能做到
id,type,desc
id是自增的
type在1-6之间
desc是详细信息
我现在想对这张表 type 1到6之间 每个值取10秒记录
除了用union拼接6次以外还有什么办法能做到
解决方案 »
- 分开的时间段搜索办法 sql 谢谢大家
- 类似微博列出好友帖子的mysql语句如何写啊?
- 2个 mysql5.0.45区别在哪里
- 求数据库连接工具
- MYSQL创建存储过程的问题(急~~~)
- mysql LIMIT 和IN 的问题
- 谁能提供点MYSQL空间用用???
- (大家好)这样的语句在mysql里能通过吗:select f1 from table1 where f2 in (select f3 from table2);
- SQL2000是不是之能在win2000server上安装才能运行?
- 急问“分表存储”和“分区存储”的区别?
- mySQL安装不上,真的很揪心啊
- scrapy爬取完写入数据库错误,求帮助!谢谢!
FROM 表 a
WHERE a.id IN ( SELECT TOP 10
id
FROM 表
WHERE type = a.type
ORDER BY id DESC )
ORDER BY id DESC
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[type] int,[desc] nvarchar(24))
Insert #T
select 1,1,N'测试1' union all
select 2,1,N'测试2' union all
select 3,1,N'测试3' union all
select 4,2,N'测试4' union all
select 5,2,N'测试5' union all
select 6,3,N'测试6' union all
select 7,3,N'测试7' union all
select 8,3,N'测试8' union all
select 9,4,N'测试9' union all
select 10,4,N'测试10'
Go
--测试数据结束
SELECT DISTINCT a.*
FROM #T a
WHERE a.id IN ( SELECT TOP 2
id
FROM #T
WHERE type = a.type
ORDER BY id DESC )
ORDER BY id DESC
SELECT DISTINCT a.*
FROM 表 a
WHERE a.id IN ( SELECT
id
FROM 表
WHERE type = a.type
ORDER BY id DESC limit 2)
ORDER BY id DESC
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。