草庐IT

order_datetime

全部标签

mysql - 我们可以在 MySQL 的 ORDER BY 子句中使用别名字段吗?

我们可以在ORDERBY子句中使用别名字段名吗?例如:SELECTid,nameASfirstnameFROMusersORDERBYfirstname可能吗?当我尝试这个时,它出错了。 最佳答案 Analiascanbeusedinaqueryselectlisttogiveacolumnadifferentname.YoucanusethealiasinGROUPBY,ORDERBY,orHAVINGclausestorefertothecolumn.检查here. 关于mysql-

mysql - 为什么 MAX() 比 ORDER BY ... LIMIT 1 慢 100 倍?

我有一个表foo,其中包含(以及其他20个)列bar、baz和quux以及索引在baz和quux上。该表有大约50万行。为什么以下查询的速度差异如此之大?查询A耗时0.3秒,而查询B耗时28秒。查询Aselectbazfromfoowherebar=:barandquux=(selectquuxfromfoowherebar=:barorderbyquuxdesclimit1)解释idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1PRIMARYfoorefquuxIdxquuxIdx9const2"Usingwhere"

php - MySQL 错误 - 无效的日期时间格式 : 1292 Incorrect datetime value: '' for column

我在OsX10.9.2中使用mysql,当我尝试在本地运行我的php网站时出现此错误:无效的日期时间格式:1292不正确的日期时间值:列nameOfTheColumn的“”当我试图在日期时间字段中插入空值时发生错误。该站点在生产环境和其他一些本地计算机上运行良好,因此问题出在数据库中,我必须在本地数据库中解决。读到这个问题,我读到mysql可以在严格模式下运行,所以我编辑/usr/local/mysql/my.cnf并注释掉这一行:#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES我重新启动计算机但仍然无法正常工作,但根据在线文档和

MySQL 不使用 JOIN、WHERE 和 ORDER 的索引

我们有两个类似于简单标记记录结构的表,如下所示(实际上它要复杂得多,但这是问题的本质):tag(A.a)|recordId(A.b)1|12|12|23|2....和recordId(B.b)|recordData(B.c)1|1232|6663|1246问题是获取带有特定标签的有序记录。这样做的明显方法是在(PK)(A.a,A.b),(A.b),(PK)(B.b),(B.b,B.c)上使用简单的连接和索引:selectA.a,A.b,B.cfromAjoinBonA.b=B.bwherea=44orderbyc;但是,这会产生令人不快的文件排序结果:+----+-----------

mysql - ORDER BY RAND() 替代方案

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:MySQL:AlternativestoORDERBYRAND()我目前有一个以ORDERBYRAND(HOUR(NOW()))LIMIT40结尾的查询,以获得40个随机结果。结果列表每小时更改一次。这会杀死查询缓存,从而损害性能。您能否建议另一种方法来获取随机(ish)结果集,这些结果会不时变化?它不必每小时,也不必完全随机。我更喜欢随机结果,而不是对表中的任意字段进行排序,但作为最后的手段我会这样做......(这是一个新产品列表,我想不时地对它们进行一些调整)。

php - MySQL ORDER BY Date 字段不是日期格式

我有一个包含DD/MM/YYYY格式的日期的字段,我需要按此字段对结果进行DESC排序,但它保存为VARCHAR,我无法更改它。有解决方法吗?我真的没有办法更改字段类型,所以请不要说这是一个糟糕的方法,因为我已经知道了。我只需要知道这是否可能。提前感谢您的帮助和建议。 最佳答案 您可以通过以下方式实现,SELECT...FROM...ORDERBYSTR_TO_DATE(yourDate,'%d-%m-%Y')DESC 关于php-MySQLORDERBYDate字段不是日期格式,我们在

mysql - 如何在 UNION 中使用 ORDER BY

我想在每个UNIONALL查询上使用ORDERBY,但我想不出正确的语法。这就是我想要的:(SELECTid,user_id,other_id,nameFROMtablenameWHEREuser_id=123ANDuser_inIN(...)ORDERBYname)UNIONALL(SELECTid,user_id,other_id,nameFROMtablenameWHEREuser_id=456ANDuser_idNOTIN(...)ORDERBYname)编辑:明确一点:我需要两个这样的有序列表,而不是一个:12个3个1个2个3个4个5非常感谢! 最

mysql - 来自数据库结果的 Laravel 格式 DateTime

我的数据库以mysql日期时间格式YYYY-MM-DDHH:MM:SS存储两个日期。当我获得此数据(与其他字符串等)时,我想将其转换为另一种格式,可能是DD.MM.YYYYHH:MM:SS并将其显示在我的View中的表格单元格中。我的数据库日期称为date_begin和date_end。更好的是,当我从数据库中获取这个日期时,将其转换为DD.MM.YYYY格式,将日期和时间分开,将时间存储在自定义字符串中(“HH1:MM1-HH2:MM2")并将两者都纳入我的观点。我怎样才能做到这一点?我找到了一些在View上转换的示例,而不是在Controller中,但我认为这对MVC不利。

MySQL order by (string to int)

SELECT`01`FROMperfWHEREyear='2013'orderbyCAST(`01`ASINT)LIMIT3第01列的数值为varchar。我需要将“01”的前3位排序为整数。为什么这个查询不起作用?像这样的表格;+----------------------+|name|01|02|year|+----------------------+|name1|90|***|2013|+----------------------+|name2|93|55|2013|+----------------------+|name3|***|78|2013|+-----------

php - fatal error :调用未定义的方法 DateTime::createfromformat()

如何解决以下错误:Fatalerror:CalltoundefinedmethodDateTime::createfromformat()错误发生在第35行。这是我的代码从第31行到第45行读取的内容//checkdatabasefornecessaryupdates$update=mysql_query("SELECT*FROMrentWHEREcolour='#3C0'");while($row_update=mysql_fetch_array($update)){$datetime_lower=DateTime::createFromFormat('d/m/Y',$min);$d