草庐IT

order_column

全部标签

mysql - ORDER BY id 或 date_created 以显示最新结果?

我有一个表(实际上有几个),我想首先从中获取最新条目的结果。这是我的ORDERBY子句选项:date_createdINT(从不更改值)id(当然是INTAUTO_INCREMENT!)两列应该同样代表插入记录的顺序。我自然会像任何正常人一样使用date_created字段,但我仍然对此感到好奇。我知道这可能有点乱七八糟,但有什么理由或极端情况说明我不应该使用id列吗?编辑:我认为这个问题对于我们想要真正代表插入顺序的值是模糊的。谢谢大家的所有回答,我将接受最好的答案并继续前进,因为我认为我通过假设id始终有序(请参阅@Wrikken的评论)而使这变得困难。我的直觉是开发人员永远不应该

php - ORDERING 查询结果的问题

我目前构造一个id数组并使用implode查询这个数组,如下所示:$sql="SELECT*FROMitem_bank_tbWHEREitem_idIN(".implode(',',$ids).")";数组$ids的构造方式使得id具有特定的顺序。但是,此查询的结果不是按该顺序排列的。我猜,因为它们都在一个查询中,所以结果按它们所在的顺序(升序)出现。有没有办法解决这个问题?(除了包括一个我可以ORDERBY的字段)非常感谢。 最佳答案 看看这个例子。你必须使用field()函数。SELECT*FROMitem_bank_tbWHE

php - 1250 - 来自其中一个 SELECT 的表 'sub' 不能在全局 ORDER 子句中使用

我正在尝试制作一个用于学习目的的聊天网站,因此在此过程中,我希望最后30条消息按升序显示w.r.t.时间。比如,最新的消息在底部,最旧的消息在顶部。经过大量的谷歌搜索,但没有找到任何有帮助的解决方案,我不得不问这个问题。这是MySQL语句。它返回我想要的数据,但按降序排列。也就是说,最新的在顶部。即使我将ASC更改为DESC,也没有任何反应。SELECT*FROM(SELECTmsg,senderFROMchatlogsWHEREuser1='userone'ANDuser2='usertwo'ORDERBY'timeofmsg'DESCLIMIT30)subORDERBY'sub.t

php - 推进 2 : Using a subquery as the value for a virtual column

我们有一个包含所有产品的表格和一个包含所有订购商品的单独表格。订购的商品基本上是已订购产品的副本,与其源产品相关(通过外键)和仅与订购商品相关的附加数据,如订购数量。通过这种方式,我们确保了订单数据的一致性,因为即使我们将来可能会删除旧产品,旧订单仍然以订单项的形式包含所有已订购的产品。订单和订单商品通过一个简单的交叉引用表(如Propel文档中的表格)连接,只有两个字段:order_id和item_id。现在我必须实现一个功能来计算尚未发货的产品的订购数量,这样我们就可以跟踪我们的库存中有多少仍可供销售以及实际已经售出多少,但尚未发货。为此,我必须选择与给定源产品相关且仅属于未发货订

php - Laravel 在使用 CASE WHEN 时如何使用 order by?

我可以像这样在Laravel中使用orderBy方法:$posts=Post::orderBy('id','DESC')->get();好的,如果ORDERBY子句中有CASE怎么办?像这样:ORDERBYCASEWHENid.PinRequestCount0THEN5WHENid.HighCallAlertCount0THEN4WHENid.HighAlertCount0THEN3WHENid.MediumCallAlertCount0THEN2WHENid.MediumAlertCount0THEN1ENDdesc,我如何在Laravel中编写这个^?

MySQL : create virtual column et set defaut value

我有这个mysql查询:Selectnamefrommy_table这个查询返回这个结果:NAME-------name1name2name3如何创建虚拟列并在此列中设置默认值?我想要这个结果:NAME|VirtualColumn------------------------name1|defaut_valuename2|defaut_valuename3|defaut_value 最佳答案 像这样:SELECTname,'default_value'AS"AVirtualColumn"FROMmy_table这种方式是合法的,因

mysql - SQL ORDER BY 性能

我有一个包含超过100万条记录的表。问题是查询花费的时间太多,比如5分钟。“ORDERBY”是我的问题,但我需要查询顺序中的表达式才能获得最受欢迎的视频。由于表达式的原因,我无法在其上创建索引。我该如何解决这个问题?谢谢。SELECTDISTINCT`v`.`id`,`v`.`url`,`v`.`title`,`v`.`hits`,`v`.`created`,ROUND((r.likes*100)/(r.likes+r.dislikes),0)AS`vote`FROM`videos`AS`v`INNERJOIN`votes`AS`r`ONv.id=r.id_videoORDERBY(v

php - ORDER BY % 这是在原始 while 循环中计算的

我想根据主要结果查询中的数学总和答案对结果进行排序,我的意思是:我当前的代码看起来像这样:$query="SELECT*FROMfooWHEREfoobar='{$fobo}'ORDERBYidDESC";$result=mysql_query($query);while($row=mysql_fetch_array($result)){$percent=round((100*$row['wins']/($row['wins']+$row['loses'])));echo'blahblahblah'.$percent;}如您所见,我目前按id排序:$query="SELECT*FROM

java.sql.SQLException : Data truncated for column 异常

我是Java编程的新手。我的类中有一个枚举数据类型:publicclassPersons{privateStringname;privateStringfamily;privateDatebirthDate;publicenumdegree{Bsd,Msd,prof};privatedegreedegree;...}在我的MySQL数据库中,我有一个学位字段:ENUM('Bsd','Mds','prof')我的hibernate映射是这样的:当我想在我的表中插入一条新记录时,我得到这个错误:Hibernate:insertintotbl_professor(name,family,bi

mysql - 重用 "sum(table_column) as x"

我的SQL查询有问题。SELECTSUM(table_colum)ASvalue,SUM(value*3)ASvalue2FROMtable;您需要知道这是我整个查询的简短表示。错误:Unknowncolumn'value'in'fieldlist'有没有办法在另一个SUM()中重用value? 最佳答案 你可以这样做:SELECTSUM(table_colum)ASvalue,SUM(SUM(table_colum)*3)ASvalue2FROMtable;在内部,服务器只会进行一次SUM(table_colum)计算并使用两次结