SQL Server2012 top和order by语句执行问题(问题比较新颖百度未果)

首先排除环境以及字符编码集的问题,目前我的数据库表中只有30条数据,其中有两个字段类型是varchar(max)和一个datetime类型字段,其余都是varchar类型,设置了主键,现在我需要根据STATUS_MARK1字段进行排序,字段类型是int。
执行结果如下:
图片说明
图片说明
图片说明
返回结果和我预想的结果不一致,感觉是先执行了top再执行order by,但是又不是很像。
我现在是用hibernate进行分页,这样的结果造成我分页数据顺序错乱!求大神些指点迷津。

4个回答

不明白原理,这样试试
select top 15 * from (select * from T_TIS_DOCTOR order by STATUS_MARK1 desc)

应该在ORDER BY 子句中加入主键或唯一键。具体参考 http://blog.csdn.net/shangboerds/article/details/5164536
以前也遇到同类的问题,是这样解决的

to Love?? 我按照你的意思来实现的,但是我发现这样的效率会不会很低啊!如果数据量不大估计没问题,如果数据量大了怕是有点慢哦。
而且这样做的话hibernate是不支持这种写法的,还得单独自己来写分页,以前的项目中,我发现都是直接"from tb order by c desc"的话,用hibernate的
分页会自动给先排序,然后返回当前查询页之前的所有数据记录再从记录中抽取当前页的数据内容啊!!!!

发表下自己的看法
看你结果的话,应该是top 10的部分不受order by的影响,
执行顺序可能是,
1.先降序
2.在选择去top 10的数据,但是top部分不受排序影响,还是默认升序

我记得老师有说过,top部分是不受order by影响的。
可以测试下,

假设得到的数据是正确的,就是顺序不对,倒过来输出就可以了。得到的结果集的,最好一条是第一条,一次序倒输出就可以啦。

不知道对不对,可以试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL嵌套查询语句的报错问题
String sql = "select * from msgInfo where ID in(select top 15 ID from msgInfo where chatRoom=? Order by chatTime DESC) order by chatTime"; String userName=session.getAttribute("_USER").toString(); PreparedStatement ps = conn.preparedStatement(sql); ps.setString(1,session.getAttribute("_CHAT_ROOM").toString()); ResultSet rs = conn.executeQuery(); 这语句有问题吗,怎么老报错,没道理啊 ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15 ID from msgInfo where chatRoom='dragon inn' Order by chatTime DESC) order by ' at line 1 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15 ID from msgInfo where chatRoom='dragon inn' Order by chatTime DESC) order by ' at line 1
sql server 2008分组后如何实现分页查询
我的SQL语句是这样的 select left(loginDate,10) ,skipUrl,count(loginDate) FROM loginlog group by skipUrl,left(loginDate,10) order by left(loginDate,10) desc 我自己试了很多总方式都不对的,不知道问题出在哪里的了?希望大侠帮忙解决下的了谢谢! select top 10 left(loginDate,10) ,skipUrl,count(loginDate)from loginlog where not exists(select top 20 left(loginDate,10) ,skipUrl,count(loginDate) FROM loginlog group by skipUrl,left(loginDate,10) order by left(loginDate,10) desc ) group by skipUrl,left(loginDate,10) order by left(loginDate,10) desc 执行结果是没有数据的,可数据库中有数据的。
关于sql Server 占位符的问题
下面这句sql语句, 这个top n 的n值, 我想用java传进来的值使他变为变量,想了很多种办法实现不了,求大神帮助!!!!!! select top n * from weixin_material where enable=1 order by id desc
SQL server 将游标查询结果显示在一个表中,现在是每一条显示一个表头
SQL server 将游标查询结果显示在一个表中,现在是每一条显示一个表头,语句该如何修改呢? ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576686056_303771.png) declare @addr varchar(128) declare myCursor CURSOR FOR select distinct cCardCode from dbo.ZLKCardFlow open myCursor fetch next from myCursor into @addr while(@@fetch_status=0) begin select distinct c.cCardCode,c.cName, c.cstatus, a0 as '充值金额',b1 as '消费金额',(a.a0-b.b1) as '余额' from (select SUM(nMoney) a0 from dbo.ZLKCardFlow where cCardCode=@addr and cOPType='充值')a, (select SUM(nMoney) b1 from dbo.ZLKCardFlow where cCardCode=@addr and cOPType='消费')b, (select top 1 * from dbo.ZLKCardFlow where cCardCode=@addr order by cstatus desc )c fetch next from myCursor into @addr end CLOSE myCursor DEALLOCATE myCursor
javaweb中preparedstatement执行条件为中文的语句时出现错误
String sql = "select top 30 * from msgInfo where ID in(select top 30 ID from msgInfo where chatRoom=? order by chatTime DESC) order by chatTime" ; PreparedStatement ps = conn.preparedStatement(sql) ; ps.setString(1,request.getSession().getAttribute("CHAT_ROOM").toString()) ; 错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '30 * from msgInfo where ID in(select top 30 ID from msgInfo where chatRoom='新' at line 1 中文是新闻
SQL server 2008如何在datediff函数增加一个计算条件
如题,我现在有个存储过程,这个存储过程是用来计算当table4插入的记录的时间差(用的是datediff函数),存储过程的执行是靠table4中的触发器来触发执行的,触发器的执行条件是(当table4中每当machine-statu字段s有非0记录数据插入,且下一条记录machine-status字段是为0的时候,则执行该存储过程) 触发器代码: ALTER trigger [dbo].[trigger4_2] on [dbo].[table4] after insert,update,delete as declare @insertCount int declare @deleteCount int declare @t4Id bigint begin -- 删除数量 select @deleteCount=COUNT(1) from deleted; -- 新增数量 select @insertCount=COUNT(1) from inserted; if (@insertCount=1 and @deleteCount=0) -- 插入动作 begin select @t4Id=id from inserted; if exists (select * from table4 where id = @t4Id and machine_status = 0) exec sp_table5_insert @t4Id; end 目前存储过程的计算代码是这样: ALTER proc [dbo].[sp_table5_insert] @_T4ID BIGINT -- machine-status=0的自增id as BEGIN -- 上一条错误代码记录id DECLARE @_T4ErrorCodeID BIGINT -- 分钟时差 DECLARE @_timeDifferenceMin INT --时间段变量 DECLARE @shi int set @shi=Datename(HOUR,GetDate()) --星期段变量 DECLARE @xingqi nvarchar(255) set datefirst 1 set @xingqi=Datename(WEEKDAY,GETDATE()) -- 开始时间 DECLARE @_machineItime VARCHAR(50) -- 获取上一条错误代码记录id并且计算以分钟为单位的时差 SELECT TOP 1 @_T4ErrorCodeID = id, @_timeDifferenceMin = DATEDIFF(SS,ng_itime,(SELECT machine_itime FROM table4 WHERE id = @_T4ID)) FROM table4 WHERE id < @_T4ID AND location IS NOT NULL AND pointer IS NOT NULL AND ng_itime IS NOT NULL ORDER BY id DESC; --判断时间,星期三早8点到星期三晚8点 set datefirst 1 set @xingqi=Datename(WEEKDAY,GETDATE()) if(@xingqi='星期三') and (@shi>8 and @shi<20) begin --对T5表操作存在类型累加时间不存在新增 IF EXISTS (SELECT * FROM table5 AS t5 LEFT JOIN table4 AS t4 ON t4.location=t5.location AND t4.pointer=t5.pointer WHERE t4.id=@_T4ErrorCodeID) --修改 UPDATE table5 SET [Wedtime_8:00AM-8:00PM] = ISNULL([Wedtime_8:00AM-8:00PM] ,0) + @_timeDifferenceMin FROM table5 AS t5, table4 AS t4 WHERE t4.location=t5.location AND t4.pointer=t5.pointer AND t4.id=@_T4ErrorCodeID; ELSE --插入 INSERT INTO table5(location,pointer,[Wedtime_8:00AM-8:00PM]) SELECT location,pointer,@_timeDifferenceMin FROM table4 WHERE id = @_T4ErrorCodeID; END 由此可见,我的存储过程计算时间差是根据table4插入记录出现的先后顺序来配对计算的,但是现在发现,这样计算出来的结果有问题,详细的异常问题解释可到我另一个问答中查看,https://ask.csdn.net/questions/691300(在一个热心导师的回复下知道了问题所在) 重点不是这个,因为现在找出问题所在了。 现在我在table4中新加了一个字段used,并且设置了它的默认值为0,我想在datediff函数计算时间差的同时,加上一个used = 0 的条件,意思是计算的两条记录还要符合used = 0 才开始计算这两条记录的时间差, 当计算完后,并把计算的两条记录的时间差结果赋值到table5中,并且同时把这条记录的used = 0值更新为used= 1,表示已经计算过了 这么做的目的是,想给计算的两条记录建立一个配对关系,这样好让程序知道计算并赋值 附上我的table4,table5表结构 table4: ![图片说明](https://img-ask.csdn.net/upload/201806/11/1528684135_418523.jpg) table5: ![图片说明](https://img-ask.csdn.net/upload/201806/11/1528684145_747174.jpg) 可是不知道该怎么编写这个条件语句和更新语句,本人小白一枚,刚从学校出来实习,项目一个人做,没人带,本来这个礼拜就要测试项目,可是现在出了这个问题,根本就测试不了,求CSDN内的各位SQL server大佬和专家帮我写下这个语句代码,留下我的QQ:584958184,还有哪里不清楚可以跟我说,我可以再解释,现在真的很急,跪求跪求帮助啊~!!!
mssql 视图语句优化 很慢
这个视图只要count(1)就很慢,同时CPU也会很高,需要怎么样来写会快些 ALTER VIEW [dbo].[V_SynthesizeAsyn] AS SELECT a.Sysnumber , a.OrderId , a.OrderTime , a.MemberId , a.AvType , a.AvObject , a.AvDescription , CASE a.AvObject WHEN 'gs' THEN '金牌供应商' WHEN 'etp' THEN '企业诚信通' WHEN 'itp' THEN '海外TP' WHEN 'zg' THEN '中供' ELSE a.AvObject END AS AvObjectCn , a.CompanyNameCn , a.MemberNameCn , a.DangerDetail , a.IfRenew , CASE a.IfRenew WHEN 'y' THEN '是' ELSE '否' END AS IfRenewCn , b.WarningGrade , d.CompanyProvince , d.CompanyProvince AS Province , d.CompanyCity , d.CompanyCity AS city , rs.Name AS CompanyCityCN , Ps.Name AS CompanyProvinceCN , b.CurrentNodeID , b.CurrentNodeName , b.IfProveCheck , b.IfBusiCheck , b.IfRenew_Again , CASE b.IfRenew_Again WHEN 'y' THEN '是' ELSE '否' END AS IfRenew_AgainCn , b.IsFeedBack , CASE b.IsFeedBack WHEN '1' THEN '是' ELSE '否' END AS IsFeedBackCn , b.FeedBackTime , e.Operator , d.CompanyName , e.OperatorName , d.CeoName , d.Tel , f.Result , ( CASE UPPER(ISNULL(f.Result, '')) WHEN 'YES' THEN '完全正确' WHEN 'NO' THEN '完全不正确' WHEN 'OTHER' THEN '部分正确' ELSE '' END ) AS Result_Name , b.ErrorDot , a.MakerID , a.Maker , d.CompanyAddr , d.LicenseNumber , b.IfTranslate , b.TranslateAudit , f.Content , d.CompanyEntityType , z.Name AS EntityTypeName , y.USERNAME , x.Maker AS LastVerify , a.VeriScope , a.ExpireDate , a.Priority FROM dbo.T_SendAVInfo AS a WITH ( NOLOCK ) INNER JOIN dbo.T_OrderStateInfo AS b WITH ( NOLOCK ) ON a.Sysnumber = b.SendAVInfoSysnumber AND b.IfRemove = '0' LEFT JOIN dbo.T_DataCollectInfo AS d WITH ( NOLOCK ) ON a.Sysnumber = d.SendAVInfoSysnumber LEFT JOIN dbo.T_DataDispense AS e WITH ( NOLOCK ) ON e.OperateState = '1' AND a.Sysnumber = e.SendAVInfoSysnumber LEFT JOIN dbo.T_SideVerifyRecords AS f WITH ( NOLOCK ) ON a.Sysnumber = f.SendAVInfoSysnumber LEFT JOIN ( SELECT Name , Number FROM dbo.Base_DDTree WITH ( NOLOCK ) WHERE ( PareNumber = 'ST0906100004' ) ) AS z ON z.Number = d.CompanyEntityType LEFT JOIN ( ( SELECT Name , Number FROM dbo.Base_DDTree WHERE DataType = 'hzst_tree_area' AND DELETEED = '0' AND IfLeaf = 0 ) ) AS rs ON rs.Number = d.CompanyCity LEFT JOIN ( ( SELECT Name , Number FROM dbo.Base_DDTree WHERE DataType = 'hzst_tree_area' AND DELETEED = '0' ) ) AS Ps ON Ps.Number = d.CompanyProvince LEFT JOIN ( SELECT USERID , USERNAME FROM dbo.T_IA_USERS WITH ( NOLOCK ) ) AS y ON e.Operator = y.USERID --获取审核人 LEFT JOIN ( SELECT loga.SendAVInfoSysnumber , logb.Maker FROM ( SELECT SendAVInfoSysnumber , MAX(CreateTime) AS CreateTime FROM dbo.T_Operationlog WITH ( NOLOCK ) WHERE CurrentNodeID = '111' AND T_Operationlog.SendAVInfoSysnumber='111' GROUP BY SendAVInfoSysnumber ) loga LEFT JOIN ( SELECT SendAVInfoSysnumber , CreateTime , Maker , CurrentNodeID FROM dbo.T_Operationlog WITH ( NOLOCK ) ) logb ON loga.SendAVInfoSysnumber = logb.SendAVInfoSysnumber AND loga.CreateTime = logb.CreateTime ) x ON a.Sysnumber = x.SendAVInfoSysnumber; LEFT JOIN ( SELECT TOP 1 SendAVInfoSysnumber , Maker FROM T_Operationlog ORDER BY CreateTime DESC ) x ON a.Sysnumber = x.SendAVInfoSysnumber; GO SQL Server 分析和编译时间: CPU 时间 = 3656 毫秒,占用时间 = 3691 毫秒。 (1 行受影响) 表 'Base_DDTree'。扫描计数 19,逻辑读取 22 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'T_OrderStateInfo'。扫描计数 9,逻辑读取 6138 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'T_SendAVInfo'。扫描计数 9,逻辑读取 4747 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'T_DataCollectInfo'。扫描计数 9,逻辑读取 24325 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'T_DataDispense'。扫描计数 9,逻辑读取 5456 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'T_SideVerifyRecords'。扫描计数 9,逻辑读取 5960 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 SQL Server 执行时间: CPU 时间 = 25026 毫秒,占用时间 = 3613 毫秒。
一条HQL语句引起的异常
表结构: CREATE TABLE IF NOT EXISTS tb_cases( id int(11) NOT NULL auto_increment, cdate date default NULL, title varchar(50) default NULL, cont text, imgpath varchar(80) default NULL, apply text, PRIMARY KEY (id) )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Hibernate映射文件: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.base.hibernate.po.Cases" table="tb_cases"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="native" /> </id> <property name="cdate" type="java.util.Date"> <column name="cdate" length="10" /> </property> <property name="title" type="java.lang.String"> <column name="title" length="50" /> </property> <property name="content" type="java.lang.String"> <column name="cont" /> </property> <property name="imgpath" type="java.lang.String"> <column name="imgpath" length="50" /> </property> <property name="apply" type="java.lang.String"> <column name="apply" /> </property> </class> </hibernate-mapping> HQL语句: String FIND_CASENUM = " from Cases order by cdate desc "; 实现方法: public List<Cases> getCasesNum(final int showPage, final int pageSize){ return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(final Session session) { Query query = session.createQuery(FIND_CASENUM); query.setFirstResult((showPage - 1) * pageSize); query.setMaxResults(pageSize); List<Cases> casesList = query.list(); if(null == casesList || casesList.isEmpty()){ casesList = null; } return casesList; } }); } 抛出异常: Hibernate: select top 4 cases0_.id as id1_, cases0_.cdate as cdate1_, cases0_.title as title1_, cases0_.cont as cont1_, cases0_.imgpath as imgpath1_, cases0_.apply as apply1_ from tb_cases cases0_ order by cases0_.cdate desc 2009-07-08 13:06:22,281 [org.hibernate.util.JDBCExceptionReporter]-[WARN] SQL Error: 1064, SQLState: 42000 2009-07-08 13:06:22,281 [org.hibernate.util.JDBCExceptionReporter]-[ERROR] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4 cases0_.id as id1_, cases0_.cdate as cdate1_, cases0_.title as title1_, cases0' at line 1 2009-07-08 13:06:26,812 [org.apache.struts.action.RequestProcessor]-[WARN] Unhandled Exception thrown: class org.springframework.dao.InvalidDataAccessResourceUsageException 2009-07-08 13:06:26,812 [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bianyaqi].[action]]-[ERROR] Servlet.service() for servlet action threw exception org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:2223) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at com.base.hibernate.dao.impl.CasesDaoImpl$1.doInHibernate(CasesDaoImpl.java:65) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:342) at com.base.hibernate.dao.impl.CasesDaoImpl.getCasesNum(CasesDaoImpl.java:60) at com.base.spring.service.impl.CasesServiceImpl.getCasesNum(CasesServiceImpl.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy1.getCasesNum(Unknown Source) at com.base.struts.action.IndexAction.execute(IndexAction.java:130) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.base.common.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.base.common.filter.ForceNoCacheFilter.doFilter(ForceNoCacheFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:619) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4 cases0_.id as id1_, cases0_.cdate as cdate1_, cases0_.title as title1_, cases0' at line 1 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) at org.hibernate.loader.Loader.getResultSet(Loader.java:1787) at org.hibernate.loader.Loader.doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) ... 54 more 怀疑是HQL语句有什么错误,但愣是没找出来 映射文件与表中的字段名也检查过了,没什么问题啊! 查看了好久也没找出到底什么地方的错误 还请各们朋友们帮下忙看下到底怎么回事! 补充: 如果将HQL语句改成 from Product 问题依旧 但在Mysql数据库中使用 select id,cdate,title,cont,imgpath,apply from tb_cases; 语句没有任何错误!
ext分页,后台如何处理?
我是根据查询条件从数据库中取出满足条件的数据,保存到list中,用了json-plugin插件,所以直接把从数据返回的List类型数据赋值给List类型的参数items直接传到前台gridpanel中的root接收。我现在想实现的是根据查询的结果进行分页显示,如图,我得到12条结果,我现在想每页显示5条,我现在不知道怎样根据start和limit参数来处理。在网上搜了很多,始终搞不清楚原理。 [color=red][size=medium]这里是grid定义[/size][/color] [code="java"] //定义数据集对象 var store = new Ext.data.Store({//配置分组数据集 baseParams : { infoLinkman :'' }, reader: new Ext.data.JsonReader({ totalRecords : "results", totalProperty: "results", root : "items", fields : [ {name: 'id'}, {name: 'infoType'}, {name: 'infoTitle'}, {name: 'infoContent'}, {name: 'infoLinkman'}, {name: 'infoPhone'}, {name: 'infoEmail'}, {name: 'infoDate'}, {name: 'infoState'}, {name: 'infoPayfor'} ] }), proxy : new Ext.data.HttpProxy({ url : 'ShowList.action' }) }); store.load({ params : { start : 0, limit : 5 } }); var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {header: "ID", width: 100, dataIndex: 'id', sortable: true}, {header: "信息类别", width: 100, dataIndex: 'infoType', sortable: true}, {header: "信息标题", width: 100, dataIndex: 'infoTitle', sortable: true}, {header: "信息内容", width: 100, dataIndex: 'infoContent', sortable: true}, {header: "联系人", width: 100, dataIndex: 'infoLinkman', sortable: true}, {header: "联系电话", width: 100, dataIndex: 'infoPhone', sortable: true}, {header: "E-mail地址", width: 100, dataIndex: 'infoEmail', sortable: true}, {header: "发布时间", width: 130, dataIndex: 'infoDate', sortable: true}, {header: "审核状态", width: 100, dataIndex: 'infoState', sortable: true}, {header: "付费状态", width: 100, dataIndex: 'infoPayfor', sortable: true}]); //创建Grid表格组件 var grid = new Ext.grid.GridPanel({ title : '列表', applyTo : 'grid-div', width:1200, height:400, frame:true, store : store, cm : cm, sm : sm, tbar : [{ xtype : 'tbtext', text : '联系人查询' }, { xtype : 'textfield', id : 'infoLinkman', emptyText : '联系人', width : 100 }, { xtype : 'button', text : '查询', handler:find }, '-', { xtype : 'button', text : '添加', handler:add }, '-', { xtype : 'button', text : '编辑', handler:update }, '-', { xtype : 'button', text : '删除', handler:remove }], bbar : new Ext.PagingToolbar({//分页工具栏 store : store, pageSize : 5, displayInfo : true, displayMsg : '第 {0} 条到 {1} 条,一共 {2} 条', emptyMsg : "没有记录" }) }); [/code] [color=red][size=medium]这里是查询函数[/size][/color] [code="java"] function find() { var store = new Ext.data.Store({//配置分组数据集 baseParams : { infoLinkman : Ext.getCmp('infoLinkman').getValue() }, reader: new Ext.data.JsonReader({ totalRecords : "results", root : "items", fields : [ {name: 'id'}, {name: 'infoType'}, {name: 'infoTitle'}, {name: 'infoContent'}, {name: 'infoLinkman'}, {name: 'infoPhone'}, {name: 'infoEmail'}, {name: 'infoDate'}, {name: 'infoState'}, {name: 'infoPayfor'} ] }), proxy : new Ext.data.HttpProxy({ url : 'ShowList.action' }) }); store.load({ params : { start : 0, limit : 5 } }); grid.reconfigure(store, cm); } [/code] [color=red][size=medium]这里是action[/size][/color] [code="java"] public class ShowListAction extends ActionSupport { private String infoLinkman; private long results; private List items; String start; String limit; public String execute() throws Exception{ this.results = 20; // int top1=Integer.parseInt(start); // int top2=Integer.parseInt(limit); Object[] params={infoLinkman}; String sql="SELECT * FROM tb_info WHERE (info_linkman=?) ORDER BY info_date ASC"; OpDB myOp=new OpDB(); System.out.println(infoLinkman); items=myOp.OpListShow(sql, params); return SUCCESS; } } [/code] [b]问题补充:[/b] 若后台是sql server 2000 sql语句该怎么写呢?好像用mysql的话这个问题比较好解决。还有我那个查询条件 联系人的参数我通过查询按钮在find方法里传过去,但我要点击下一页按钮的话文本框里的这个参数好像就传不过去了,每次传递的参数只是limit和start,这个查询条件参数带不过去。这个参数该怎么传递呢,在更新页码的时候? [b]问题补充:[/b] 现在就不处理吧,但是他也没有自动分页啊,12条数据他是全部显示出来了啊 [b]问题补充:[/b] [quote]来进行分页,不过要用两条select语句联合起来用[/quote] 比如总共12条数据,去6-10条,sql怎么写呢? [b]问题补充:[/b] [color=red][size=medium] 现在的问题是,我想根据查询条件得到结果,并将符合条件的结果条数动态的传给results。我在第一次显示gridpanel时它就调用了action,因为没有参数联系人参数传入,执行sql语句后满足条件的是0条,这时results值就被赋值0,因此页数就只有一页。此时我再点击查询按钮查询,可以得到第一页的前五条数据,但下面的分页按钮只有一页,无法点击下一页。<br> 第二个问题,即使现在可以点击下一页,那又怎样才能将我的查询条件这个参数带过去呢,不然返回的还是零条。<br> 第三个问题,即使现在点击第二页按钮时,可以返回第6-10条数据,但根据下面的摄sql语句,由于是用id进行分页的,而id是没有重复的,查询操作会直接前5条记录去除,从数据库的第6条开始查询满足条件的记录,而这必然会使第二页得到的内容会与第一页的内容有可能重复(若前5页没有符合条件的内容的话,第1页和第2页内容就会完全一样。)<br> [color=brown][/color] [/size][size=small]谢谢各位热心解答,问题讲得很啰嗦,不知道讲清楚没有,我基础不太好,这个问题搞了好久也没弄出个所以然来,实在不知道怎么办了。[/size][/color] [code="java"] public String execute() throws Exception{ int top1=Integer.parseInt(start); int top2=Integer.parseInt(limit); Object[] params={infoLinkman}; // String sql="SELECT * FROM tb_info WHERE (info_linkman=?) ORDER BY info_date ASC"; String sql = "select top "+top2+" * from tb_info where (info_linkman=?)and (id not in (select top "+top1+" id from tb_info order by id asc )) order by id asc"; // String sql = "select top 5 * from tb_info where (info_linkman=?)and (id not in (select top 10 id from tb_info order by id asc )) order by id asc"; OpDB myOp=new OpDB(); items=myOp.OpListShow(sql, params); String sql2="select count(*) count from tb_info where (info_linkman=?)"; results = myOp.getUserCount(sql2, params); // results=11; System.out.println("符合条件记录条数:"+results); System.out.println(infoLinkman); return SUCCESS; } [/code] [b]问题补充:[/b] 加上那段代码后提示[color=red]Ext.getCmp("infoLinkman") is undefined [/color] 其实就是想根据查询条件得到结果集合,但是如果数据量很大,就需要分页,现在这个分页很难实现吗,这个应该也是很常见的需求吧 [b]问题补充:[/b] [size=medium][color=red]奇怪,上次补充的问题不见了。前段时间网络一直不好。我把load和beforeload函数放到gridpanel定义后结果就正常了,不报错。 现在我把results定死,赋值为11,这样初始分页栏会显示有3页,第一页显示根据查询条件得到的5个结果,点击第二页时,从后台看,action可以得到查询参数并返回5条结果,但是gridpanel里的数据并没有更新,现在的问题是如何让gridpanel根据每次返回的数据动态更新表格。[/color][/size] [b]问题补充:[/b] [color=red][size=small]第一次默认返回数据为:{"[/[/size]color]infoLinkman":"","infoType":null,"items":[],"limit":"5","results":11,"start":"0"} [color=red][size=small]第二次根据查询数据得到数据为:{"[/[/size]color]infoLinkman":"鑺宠姵","infoType":null,"items":[{"[color=red]id[/color]":114,"infoContent":"姹傝喘淇℃伅鍐呭","infoDate":"2007-12-26 11:47:46","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"姹傝喘淇℃伅鏍囬","infoType":4},{"id":115,"infoContent":"鎷涘晢寮曡祫鍐呭","infoDate":"2007-12-26 11:51:54","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"鎷涘晢寮曡祫鏍囬","infoType":5},{"id":116,"infoContent":"鍏瘬淇℃伅鍐呭","infoDate":"2007-12-26 11:52:36","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"鍏瘬淇℃伅鏍囬","infoType":6},{"id":117,"infoContent":"姹傝亴淇℃伅鍐呭","infoDate":"2007-12-26 11:53:03","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"姹傝亴淇℃伅鏍囬","infoType":7},{"id":118,"infoContent":"瀹舵暀淇℃伅鍐呭","infoDate":"2007-12-26 11:53:40","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"瀹舵暀淇℃伅鏍囬","infoType":8}],"limit":"5","results":11,"start":"0"} [size=small][color=red]点击第二页后得到数据为:[/color][/size] {"infoLinkman":"鑺宠姵","infoType":null,"items":[{"[color=red]id[/color]":116,"infoContent":"鍏瘬淇℃伅鍐呭","infoDate":"2007-12-26 11:52:36","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"鍏瘬淇℃伅鏍囬","infoType":6},{"id":117,"infoContent":"姹傝亴淇℃伅鍐呭","infoDate":"2007-12-26 11:53:03","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"姹傝亴淇℃伅鏍囬","infoType":7},{"id":118,"infoContent":"瀹舵暀淇℃伅鍐呭","infoDate":"2007-12-26 11:53:40","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"瀹舵暀淇℃伅鏍囬","infoType":8},{"id":119,"infoContent":"杞﹁締淇℃伅鍐呭","infoDate":"2007-12-26 11:54:05","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"杞﹁締淇℃伅鏍囬","infoType":9},{"id":120,"infoContent":"鍑哄敭淇℃伅鍐呭","infoDate":"2007-12-26 11:54:41","infoEmail":"888@89*.com","infoLinkman":"鑺宠姵","infoPayfor":"1","infoPhone":"13255******","infoState" :"1","infoTitle":"鍑哄敭淇℃伅鏍囬","infoType":10}],"limit":"5","results":11,"start":"5"} [size=small][color=red]grid定义:[/color][/size] [code="java"]var grid = new Ext.grid.GridPanel({ title : '列表', applyTo : 'grid-div', width:1200, height:500, frame:true, store : store, cm : cm, sm : sm, tbar : [{ xtype : 'tbtext', text : '联系人查询' }, { xtype : 'textfield', id : 'infoLinkman', emptyText : '联系人', width : 100 }, { xtype : 'button', text : '查询', handler:find }, '-', { xtype : 'button', text : '添加', handler:add }, '-', { xtype : 'button', text : '编辑', handler:update }, '-', { xtype : 'button', text : '删除', handler:remove }], bbar : new Ext.PagingToolbar({//分页工具栏 store : store, pageSize : 5, displayInfo : true, displayMsg : '第 {0} 条到 {1} 条,一共 {2} 条', emptyMsg : "没有记录" }) }); store.on('beforeload', function() { //Ext.data.JsonStore读入数据之前的事件,让store在读入数据之前设置参数。 this.baseParams = { infoLinkman : Ext.getCmp('infoLinkman').getValue() }; }); store.load({ params : { start : 0, limit : 5 } }); grid.reconfigure(store, cm);[/code] [b]问题补充:[/b] 这句代码加不加都一样没反应 [b]问题补充:[/b] store内容怎么检查啊,不会啊 [b]问题补充:[/b] [size=medium][color=blue]这个问题先放一放了,以后再接着研究。谢谢所有热心的朋友。[/color][/size]
org.hibernate.hql.ast.QuerySyntaxException:unexpe
以下是我在开发ssh中出现的异常,请各位帮忙解决一下 org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 5 near line 1, column 12 [select top 5 * from com.no9.entity.Goods order by PutTime desc]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: 5 near line 1, column 12 [select top 5 * from com.no9.entity.Goods order by PutTime desc] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:639) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377) at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840) at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:832) at com.no9.dao.impl.GoodsDAO.findTopByTime(GoodsDAO.java:194) at com.no9.biz.impl.GoodsBizImpl.findTopByPubTime(GoodsBizImpl.java:39) at org.apache.jsp.right_jsp._jspService(right_jsp.java:78) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at org.apache.struts2.components.Include.include(Include.java:254) at org.apache.struts2.components.Include.end(Include.java:166) at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) at org.apache.jsp.index_jsp._jspx_meth_s_005finclude_005f3(index_jsp.java:173) at org.apache.jsp.index_jsp._jspService(index_jsp.java:82) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) 相关代码如下----DAO层 //通过时间查询最新发布的产品 public List<Goods> findTopByTime(){ log.debug("finding top By Time Goods instances"); try { String queryString = "select top 5 * from Goods order by PutTime desc"; return getHibernateTemplate().find(queryString); } catch (RuntimeException re) { log.error("find all failed", re); throw re; } } BIZ层 //查询最新发布 5条记录 public List<Goods> findTopByPubTime(){ List<Goods> listTopTime = gooddao.findTopByTime(); if(listTopTime != null && listTopTime.size() > 0){ System.out.println(listTopTime.size()); return listTopTime; }else{ return null; } } 页面代码为: <% //查询最新发布--- GoodsBizImpl topPubTime = (GoodsBizImpl)SpringBeanUtil.getInstance().getBean("GoodsBiz"); List<Goods> listTopTime = topPubTime.findTopByPubTime(); session.setAttribute("topTime",listTopTime);//将手机信息保存到session中 %> <div style="height:20px; background-image:url(images/newfoot_bg.gif)"> <a href="#">最新发布</a> </div> <div class="frameBorder" style="width:150px"> <s:iterator id="topTime" value="#session.topTime" status="stuts"> <div> <a href="#"><img src="images/products/<s:property value="images" />"/></a> <s:property value="goodName" /> </div> </s:iterator> </div> 现在一时找不到原因,望各位给予解决,谢谢 [b]问题补充:[/b] 在DAO层的sql语句在sql server 2005 中是可以执行的,在HQL中就有点问题啦,关键是怎么改。本人刚学SSH不久,对有些东西还希望各位多提一些建议 [b]问题补充:[/b] 我用的是Spring + Struts2 + Hibernate3.2架构的,所以 String hql = "from Goods order by PutTime desc"; List results = session.createQuery(hql).setMaxResults(5).list(); 用session好像不行啊
MYSQL合并两个表的查询结果并排序
已解决,SQL语句如下: ``` SELECT * FROM ( ( SELECT post.post_id AS id, 'P' AS type, post.title AS title, post_time AS time FROM `ts_weiba_post` AS `post` WHERE `post`.`post_uid` = 41 ) UNION ( SELECT reply.reply_id AS id, 'R' AS type, reply.content AS title, reply.ctime AS time FROM `ts_weiba_reply` AS `reply` WHERE `reply`.`uid` = 41 ) ) AS alldate ORDER BY time DESC ``` --------------------------------------------------------------------------- ts_weiba_post是用户发帖表 ts_weiba_reply是用户评论表 问题: 需要将用户的发帖数据和回复数据合并在一起并依据时间排序。 即从ts_weiba_post中查询post_uid等于41的数据和ts_weiba_reply中uid等于41的数据,并合并查询结果后依据ts_weiba_post的post_time和ts_weiba_reply的ctime排序 ``` /* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Server Version : 50547 Source Host : 127.0.0.1:3306 Source Database : xiaotiane Target Server Type : MYSQL Target Server Version : 50547 File Encoding : 65001 Date: 2016-07-02 21:58:15 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for ts_weiba_post -- ---------------------------- DROP TABLE IF EXISTS `ts_weiba_post`; CREATE TABLE `ts_weiba_post` ( `post_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '帖子ID', `weiba_id` int(11) NOT NULL COMMENT '所属微吧ID', `post_uid` int(11) NOT NULL COMMENT '发表者uid', `title` varchar(255) NOT NULL COMMENT '帖子标题', `content` text NOT NULL COMMENT '帖子内容', `post_time` int(11) NOT NULL COMMENT '发表时间', `reply_count` int(10) DEFAULT '0' COMMENT '回复数', `read_count` int(10) DEFAULT '0' COMMENT '浏览数', `last_reply_uid` int(11) DEFAULT '0' COMMENT '最后回复人', `last_reply_time` int(11) DEFAULT '0' COMMENT '最后回复时间', `digest` tinyint(1) DEFAULT '0' COMMENT '全局精华 0-否 1-是', `top` tinyint(1) DEFAULT '0' COMMENT '置顶帖 0-否 1-吧内 2-全局', `lock` tinyint(1) DEFAULT '0' COMMENT '锁帖(不允许回复)0-否 1-是', `recommend` tinyint(1) DEFAULT '0' COMMENT '是否设为推荐', `recommend_time` int(11) DEFAULT '0' COMMENT '设为推荐的时间', `is_del` tinyint(2) DEFAULT '0' COMMENT '是否已删除 0-否 1-是', `feed_id` int(11) NOT NULL COMMENT '对应的分享ID', `reply_all_count` int(11) NOT NULL DEFAULT '0' COMMENT '全部评论数目', `attach` varchar(255) DEFAULT NULL, `praise` int(11) DEFAULT '0' COMMENT '喜欢', `from` tinyint(2) DEFAULT '0' COMMENT '客户端类型,0:网站;1:手机网页版;2:android;3:iphone', `top_time` int(11) DEFAULT NULL, `is_index` tinyint(2) DEFAULT '0', `index_img` int(11) DEFAULT NULL, `is_index_time` int(11) DEFAULT NULL, PRIMARY KEY (`post_id`), KEY `id_recommend` (`recommend_time`,`weiba_id`,`recommend`) USING BTREE, KEY `post_time` (`post_time`,`weiba_id`) USING BTREE ) ENGINE=MyISAM AUTO_INCREMENT=895 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of ts_weiba_post -- ---------------------------- INSERT INTO `ts_weiba_post` VALUES ('883', '8', '41', 'title_3', 'content_3', '1467078402', '0', '1', '1', '1467078402', '0', '0', '0', '0', '0', '0', '32', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('881', '8', '41', 'title_1', 'content_1', '1467078185', '0', '0', '1', '1467078185', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('882', '8', '41', 'title_2', 'content_2', '1467078260', '0', '1', '1', '1467078260', '0', '0', '0', '0', '0', '0', '31', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('885', '9', '41', 'title_4', 'content_4', '1467078496', '0', '1', '1', '1467078496', '0', '0', '0', '0', '0', '0', '33', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('886', '9', '41', 'title_5', 'content_5', '1467078606', '0', '6', '1', '1467078606', '0', '0', '0', '0', '0', '0', '34', '0', null, '1', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('887', '10', '41', 'title_6', 'content_6', '1467078692', '0', '1', '1', '1467078692', '0', '0', '0', '0', '0', '0', '35', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('888', '10', '41', 'title_7', 'content_7', '1467078911', '2', '8', '578', '1467083920', '0', '0', '0', '0', '0', '0', '36', '2', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('889', '10', '41', 'title_8', 'content_8', '1467078989', '0', '6', '1', '1467078989', '0', '0', '0', '0', '0', '0', '37', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('890', '5', '232', 'title_9', 'content_9', '1467084362', '0', '4', '232', '1467084362', '0', '0', '0', '0', '0', '0', '38', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('891', '3', '579', 'title_10', 'content_10', '1467084380', '0', '5', '579', '1467084380', '0', '0', '0', '0', '0', '0', '39', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('892', '6', '232', 'title_11', 'content_11', '1467084538', '0', '8', '232', '1467084538', '0', '0', '0', '0', '0', '0', '40', '0', null, '0', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('893', '3', '536', 'title_12', 'content_12', '1467090574', '3', '18', '579', '1467091548', '0', '0', '0', '0', '0', '0', '41', '3', null, '1', '0', null, '0', null, null); INSERT INTO `ts_weiba_post` VALUES ('894', '3', '41', 'title_13', 'content_13', '1467464403', '0', '1', '41', '1467464403', '0', '0', '0', '0', '0', '0', '42', '0', null, '0', '0', null, '0', null, null); -- ---------------------------- -- Table structure for ts_weiba_reply -- ---------------------------- DROP TABLE IF EXISTS `ts_weiba_reply`; CREATE TABLE `ts_weiba_reply` ( `reply_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '回复ID', `weiba_id` int(11) NOT NULL COMMENT '所属微吧', `post_id` int(11) NOT NULL COMMENT '所属帖子ID', `post_uid` int(11) NOT NULL COMMENT '帖子作者UID', `uid` int(11) NOT NULL COMMENT '回复者ID', `to_reply_id` int(11) NOT NULL DEFAULT '0' COMMENT '回复的评论id', `to_uid` int(11) NOT NULL DEFAULT '0' COMMENT '被回复的评论的作者的uid', `ctime` int(11) NOT NULL COMMENT '回复时间', `content` text NOT NULL COMMENT '回复内容', `is_del` tinyint(2) DEFAULT '0' COMMENT '是否已删除 0-否 1-是', `comment_id` int(11) NOT NULL COMMENT '对应的分享评论ID', `storey` int(11) NOT NULL DEFAULT '0' COMMENT '绝对楼层', `attach_id` int(11) NOT NULL, `digg_count` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`reply_id`) ) ENGINE=MyISAM AUTO_INCREMENT=2333 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of ts_weiba_reply -- ---------------------------- INSERT INTO `ts_weiba_reply` VALUES ('1', '1', '1', '1', '1', '0', '0', '1464331112', '123123123', '0', '1', '0', '0', '1'); INSERT INTO `ts_weiba_reply` VALUES ('5', '1', '25', '14', '1', '0', '0', '1464630201', 'lalala[bizui]', '0', '5', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('6', '1', '25', '14', '1', '0', '0', '1464630224', '111', '0', '6', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('12', '6', '702', '1', '579', '0', '0', '1464774363', '?', '0', '12', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('11', '6', '705', '1', '578', '0', '0', '1464766121', '[ciya]', '0', '11', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('13', '2', '718', '579', '1', '0', '0', '1464859276', '121212', '0', '13', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('14', '5', '747', '12', '12', '0', '0', '1467082511', '发布会已经成功举办', '0', '14', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('15', '2', '58', '30', '14', '0', '0', '1467082621', '[ciya]', '0', '15', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('16', '2', '58', '30', '232', '0', '0', '1467083224', '[guzhang]', '0', '16', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('17', '5', '749', '12', '578', '0', '0', '1467083594', '[qiang]', '0', '17', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('18', '10', '888', '1', '578', '0', '0', '1467083701', '[ciya]', '0', '18', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('22', '2', '58', '30', '578', '0', '0', '1467083878', '[liuhan][liuhan]', '0', '22', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('21', '2', '58', '30', '578', '0', '0', '1467083854', '[huaixiao]', '0', '21', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('23', '10', '888', '1', '578', '0', '0', '1467083920', '[ku][ku]', '0', '23', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('24', '3', '893', '536', '536', '0', '0', '1467091173', '有人在吗', '0', '24', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('25', '3', '893', '536', '536', '0', '0', '1467091306', '有人在吗?', '0', '25', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('26', '3', '893', '536', '579', '0', '0', '1467091548', '[aoman][baiyan]', '0', '26', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('27', '2', '58', '30', '536', '0', '0', '1467092560', '[ciya][ciya][ciya][ciya][ciya]', '0', '27', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('28', '2', '58', '30', '41', '0', '0', '1467265038', '11111111111', '0', '28', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('29', '2', '58', '30', '41', '0', '0', '1467464445', '发布了一条回复1', '0', '29', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('30', '2', '58', '30', '41', '0', '0', '1467464445', '发布了一条回复2', '0', '29', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('31', '2', '58', '30', '41', '0', '0', '1467464445', '发布了一条回复3', '0', '29', '0', '0', '0'); INSERT INTO `ts_weiba_reply` VALUES ('32', '2', '58', '30', '41', '0', '0', '1467464445', '发布了一条回复4', '0', '29', '0', '0', '0'); ```
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
【资源】一个C/C++开发工程师的学习路线(已经无路可退,唯有逆风飞翔)【内附资源页】
声明: 1)该文章整理自网上的大牛和专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
神级宝库!GitHub 标星 1.2w+,Chrome 最天秀的插件都在这里啦!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个沉迷 Chrome 不能自拔的蒟蒻… 作为一个在远古时代用过什么 IE、360、猎豹等浏览器的资深器哥,当我第一次了解 Chrome 的时候,就被它的美貌给吸引住了… 就在我用了一段时间之后,我坚决的卸载了电脑上其它碍眼的浏览器,并觉得在之前的搬砖生涯中,我不配当哥,我只配是个沙雕… ...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
张朝阳回应迟到 1 分钟罚 500:资本家就得剥削员工
loonggg读完需要2分钟速读仅需 1 分钟大家我,我是你们的校长。前几天,搜狐的董事局主席兼 CEO 张朝阳和搜狐都上热搜了。原因很简单,就是搜狐出了“考勤新规”。一封搜狐对员工发布...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
从顶级黑客到上市公司老板
一看标题,很多老读者就知道我在写什么了。今天Ucloud成功上市,季昕华成为我所熟悉的朋友里又双叒叕一个成功上市的案例。我们认识大概是十五年多吧,如果没记错,第一次见面应该是2004年,...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
立即提问