BoneCP没有srv记录 解决什么问题的SQL语句问题,怎么解决

09:50 提问
sql语句问题,怎么将查询出来的数据,只取第2第3条数据
SELECT date_format(createTime,'%Y-%m-%d') createTime
from t_zx_sqzx
where communityId='8' GROUP BY date_format(createTime,'%Y-%m-%d')
![图片说明](http://img.ask.csdn.net/upload//_218829.jpg)
这是从数据库读取出的数据,怎么取第2第3条数据,或者其他条数据
按赞数排序
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
看不出来你用的是啥数据库。mysql 是 limit 2,3 前面三条,然后oracle是rownum
在语句最后加
limit startIndex,num
其中startIndex表示第二条数据开始取,
num表示取几条数据
参考地址:
7.记录搜索:
开头到N条记录
Select Top N * From 表
N到M条记录(要有主索引ID)
Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID
N到结尾记录
Select Top N * From 表 Order by ID Desc
例如1:一张表有一万多条记录,表的第一个字段 RecID 是自增长字段, 写一个SQL语句,找出表的第31到第40个记录。
select top 10 recid from A where recid not
in(select top 30 recid from A)
分析:如果这样写会产生某些问题,如果recid在表中存在逻辑索引。
select top 10 recid from A where……是从索引中查找,而后面的select top 30 recid from A则在数据表中查找,这样由于索引中的顺序有可能和数据表中的不一致,这样就导致查询到的不是本来的欲得到的数据。
1, 用order by select top 30 recid from A order by ricid 如果该字段不是自增长,就会出现问题
2, 在那个子查询中也加条件:select top 30 recid from A where recid&-1
例2:查询表中的最后以条记录,并不知道这个表共有多少数据,以及表结构。
set @s = 'select top 1 * from T
where pid not in (select top ' + str(@count-1) + ' pid
sp_executesql
如果是在MySQL中使用TOP会有问题。
解决方法:
设一个行标,rownum,ruwid之类的
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐&|&&|&&|&&|&&
当前位置: >
[置顶] 如何精简日志,只看SQL语句.
作者:hongqishi & 来源:转载 &
浏览次数:
摘要: 如何精简日志,只看ibatisSQL语句.1.修改日志配置文件log4j.rootLogger=debug,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layou
如何精简日志,只看ibatis SQL语句. 1.修改日志配置文件 log4j.rootLogger=debug, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%m%n log4j.logger.net.rubyeye.xmemcached=error log4j.logger.com.opensymphony.xwork2=error log4j.logger.org.springframework=error log4j.logger.com.google.code=error log4j.logger.com.itv.ti.manager=error log4j.logger.org.mybatis.spring=error log4j.logger.org.apache.struts2=error log4j.logger.com.jolbox.bonecp=error log4j.logger.org.apache.ibatis.logging.slf4j.Slf4jImpl=error log4j.logger.com.jolbox.bonecp.ConnectionHandle=error log4j.logger.org.slf4j.impl.Log4jLoggerAdapter=error log4j.logger.org.apache.log4j.Logger=error 2.修改PreparedStatementLogger &public Object invoke(Object proxy, Method method, Object[] params) throws Throwable { && if (EXECUTE_METHODS.contains(method.getName())) { &&& &String sql = statement.toString(); &&& &for (Object paramVal : columnValues) { &&& &&String dateType = paramVal.getClass().getSimpleName(); &&& &&if("String".equals(dateType)){ &&& &&&sql = sql.replaceFirst("\\?", "'"+paramVal.toString()+"'"); &&& &&}else{ &&& &&&sql = sql.replaceFirst("\\?", paramVal.toString()); &&& &&} &&& &} &&& &sql = sql.replaceAll("\n", " "); &&& &while(sql.indexOf("\t")!=-1){ &&& &&sql = sql.replaceAll("\t", " "); &&& &} &&& &while(sql.indexOf("& ")!=-1){ &&& &&sql = sql.replaceAll("& ", " "); &&& &} &&& &System.out.println(" "+sql); &&} BaseJdbcLogger 修饰符改为public private List&Object& columnValues = new ArrayList&Object&(); public List&Object& columnValues = new ArrayList&Object&();
3.去掉其它ibatis日志 &org.apache.ibatis.logging.jdbc.BaseJdbcLogger &&&清空方法体 &&protected void debug(String text) { &&
版权所有 IT知识库 CopyRight (C)
IT知识库 IT610.com , All Rights Reserved.其他回答(1)
建议看一下执行计划
收获园豆:3
园豆:35688
园豆:35688
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。使用SQL语句删除没有学生选修的课程记录_百度知道
使用SQL语句删除没有学生选修的课程记录
用SQL语句删除没有学生选修的课程记录学生( 学号 C(8), 姓名 C(6), 出生日期 D, 性别 L, 课程名 C(12), 学分 N(2,0), 入学成绩 I, 照片 G )  课程( 课程号 C(4), 简历 M
我有更好的答案
delete from 课程 where 课程号 not in(select 课程号 from 选课)
采纳率:65%
delete 课程 where 课程号 in(select
from 选课 a
where not exists (select
学号 from学生 where a.学号=学号))如此即可
sassaaaaaaaaaa
1条折叠回答
为您推荐:
其他类似问题
sql语句的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。SQL表中获取时间段里每一天的数据,如果表里没有这一天的记录数据就为零解决方案 - Sql Server当前位置:& &&&SQL表中获取时间段里每一天的数据,如果表里没有这SQL表中获取时间段里每一天的数据,如果表里没有这一天的记录数据就为零解决方案www.MyException.Cn&&网友分享于:&&浏览:360次SQL表中获取时间段里每一天的数据,如果表里没有这一天的记录数据就为零表 & A
现要得到在 & 到 & 的如下记录
SQL查询语句能够完成吗,高手指点下,感激不尽~ ------解决方案--------------------select * from 表 where convert(varchar(8),date,112) between
' 'and
' ' '
------解决方案--------------------select * from 表 where convert(varchar(10),date,120) between
' 'and
' ' '
或加小时段
select * from 表 where date between
' 00:00:00 'and
' ' 23:59:59 '
------解决方案--------------------
create table T(id
int, value varchar(10),
[date] datetime)
insert T select 1,
'aa ',
' '
union all select 2,
'bb ',
' '
union all select 3,
'cc ',
' '
select isnull(B.value,
'0 ') as value, A.*
select [Date]= ' '
union all select
' '
union all select
' '
union all select
' '
left join T as B on A.[Date]=B.[Date]
---------- ----------
(4 row(s) affected)
------解决方案--------------------@ta 为表变量生成一个月的日期表,与下面的语句一起用,就不用生成临时表
------解决方案--------------------可以在表变量定义就行了
set @i= ' 00:00:00 '--开始时间
while @i!&
' 00:00:00 '--结束时间用getdate()系统时间
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

我要回帖

更多关于 php sql 语句优化问题 的文章

 

随机推荐