草庐IT

ordered_date

全部标签

mysql - 与 Mysql 5.7 不兼容(ORDER BY 子句的表达式 #1 不在 SELECT 列表中)

当我执行以下查询时,我收到一个异常:ErrorCode:3065Expression#1ofORDERBYclauseisnotinSELECTlist,referencescolumn'webstore.level_depth'whichisnotinSELECTlist;thisisincompatiblewithDISTINCT我的查询:SELECTDISTINCTc.id_parent,c.id_category,cl.name,cl.description,cl.link_rewriteFROM`pj_category_shop`cs,`pj_category`cINNERJ

MySQL 不使用 ORDER BY 的索引

我有一个名为“test”的简单MySQL表,有两列:名为“id”的自动递增int列名为“textcol”的Varchar(3000)列我根据“textcol”列在表中创建索引。但是,ORDERBY查询似乎没有使用索引,即在textcol上使用ORDERBY的简单查询上的EXPLAIN语句在其输出的Key列中显示NULL,并且还使用文件排序。任何用于进行更改以帮助使用ORDERby查询的索引的指针都会对我有用。“mysql--version”命令给出的MySQL版本:mysqlVer14.14Distrib5.1.58,适用于使用readline6.2的debian-linux-gnu(

mysql - LIMIT OFFSET,LENGTH 是否需要 ORDER BY 进行分页?

我有一个包含28,900个整数的MyISAM表。我正在以1500block为单位处理它,这是一个像这样的查询:SELECT*FROMtableWHEREid>0LIMIT$iStart,1500然后我遍历它并每次将$iStart增加1500。问题是在某些情况下查询返回相同的行。例如,LIMIT0,1500查询返回一些与LIMIT28500,1500查询相同的行。如果我不对行进行排序,难道我不能期望使用LIMIT进行分页吗?(在进行这些查询时该表是静态的,没有其他查询会改变其行)。 最佳答案 与几乎所有其他SQL引擎一样,MySQLM

MySQL DATE_FORMAT '%M' 短月?

我正在尝试显示这样的日期27-Jul-13。我一直读到M应该给出速记月份,而F应该给出全名。我正在使用这个:DATE_FORMAT(date,'%d-%M-%y')ASDisplaydate但它显示如下:14-Apr-12不是14-Apr-12另外,如果我使用F它根本不起作用,它只会显示一个F月份应该在的位置。我做错了什么? 最佳答案 根据DATE_FORMATdoc,您的格式需要%b:DATE_FORMAT(date,'%d-%b-%y')ASDisplaydate 关于MySQLDA

MySQL DATE_ADD 用法,5 天间隔

我正在尝试在单个查询中选择5天内的订单总金额($)和发票计数。不过,我似乎无法做到这一点。我当前的查询在这里...SELECTCOUNT(id)asinvoice_count,SUM(orderTotal)asorders_sum,UNIX_TIMESTAMP(created)ascreatedFROMids_invoiceWHEREDATE_ADD(created,INTERVAL+1DAY)ANDuserId=23LIMIT5'我不完全确定DATE_ADD是我正在寻找的正确函数。目前我正在......Array([0]=>Array([invoice_count]=>420[ord

mysql - 无法优化使用 ORDER BY 子句的 MySQL 查询

我将Drupal6与MySQL5.0.95版一起使用,我的一个查询显示基于最新文章日期的内容速度变慢,并且由于使用频率而完全破坏了网站性能,这让我陷入了僵局。有问题的查询如下:SELECTn.nid,n.title,ma.field_article_date_format_value,ma.field_article_summary_valueFROMnodenINNERJOINcontent_type_articlemaONn.nid=ma.nidINNERJOINterm_nodetnONn.nid=tn.nidWHEREtn.tid=153ANDn.status=1ORDERBY

mysql order by -id vs order by id desc

我希望从1M行的表中获取最后10行。CREATETABLE`test`(`id`int(11)NOTNULLAUTO_INCREMENT,`updated_date`datetimeNOTNULL,PRIMARYKEY(`id`))这样做的一种方法是-select*fromtestorderby-idlimit10;**10rowsinset(0.14sec)**另一种方法是-select*fromtestorderbyiddesclimit10;**10rowsinset(0.00sec)**所以我对这些查询做了一个“解释”-这是我使用'orderbydesc'的查询结果EXPLAI

sql - 自定义 ORDER BY 忽略 'the'

我正在尝试对标题列表进行排序,但目前有一大堆以“The”开头的标题。我希望忽略“The”,并希望对第二个词进行排序。这在SQL中可能吗,还是我必须在前端做自定义工作?例如当前排序:飞机人类之子全金属外壳低俗小说喷泉大逃杀女王扎尔多斯会更好地排序:飞机人类之子喷泉全金属外壳大逃亡低俗小说女王扎尔多斯几乎就好像记录被存储为“喷泉、The”等。但如果可以的话,我不想以这种方式存储它们,这当然是问题的症结所在。 最佳答案 最好有一个计算列来执行此操作,以便您可以索引计算列并按此排序。否则,排序工作量很大。那么您可以将计算列设置为:CASEW

mysql - SQL ORDER BY 路由信息

我有一个包含随机顺序的路由信息​​的表,如下所示:fromtostreet----------------------------------9291LangePoten100104Bagijnestraat8579KortePoten9185Plein79100Bezuidenhoutseweg我正在尝试找到一种使用路线信息对其进行排序的方法,其中当前行的to列与下一行的from列匹配.在示例中,我想要的顺序是:fromtostreet----------------------------------9291LangePoten9185Plein8579KortePoten7910

用于存储年份的 MySQL 类型 : Smallint or Varchar or Date?

我将在MySQL表中存储一年:将其存储为smallint还是varchar更好?我认为由于它不是完整的日期,所以日期格式不应该是一个答案,但我也会将其包括在内。小林特?变量(4)?日期?还有别的吗?例子:200819922053 最佳答案 我会使用YEAR(4)列类型...但前提是预期年份在1901年和2155年之间...否则,请参阅Gambrinus的回答。 关于用于存储年份的MySQL类型:SmallintorVarcharorDate?,我们在StackOverflow上找到一个类