草庐IT

ordering_chars

全部标签

php - 如何处理数据库中项目列表的 "order"(php)

我希望我的客户能够在后端订购商品。我认为最简单的方法是让项目的数据库表有一个名为“order”的字段,该字段获取一个值。这是客户端输入的值。然后我可以运行按“order”字段排序的SQL查询。现在我很简单..没有逻辑..所以用户会为一个项目输入order=100,为另一个项目输入order=200..并且具有较低值的将首先列出。有没有更优雅的方式来做到这一点?我在想“向上移动”和“向下移动”之类的东西。等等,我正在努力让管理元素更方便。任何想法将不胜感激! 最佳答案 您的方法非常适合您要尝试做的事情。对于客户端界面,我建议使用jQu

mysql 按查询排序,尝试按 char_length 对随机化结果

我正在努力在表格行中显示一页分类广告。我要解决的问题是以减少页面空白量的方式排列广告,同时保持随机顺序。几个无序广告的示意图:_________________________________adtexthere.|anotheradherethisadhas|(2)moretextthan|[unwantedthatad.(1)|white-space]_______________|__________________我想做的是按char_length对结果进行排序,但也将结果随机化为2组、3组或其他组。我现在的查询是:SELECT*FROMadsORDERBYCHAR_LENGT

php - MySQL ORDER BY 结果不是按字母顺序排列的

我一直在努力寻找解决这个问题的方法,但一直没有成功。我知道这里有几个类似的问题,但它们都是更复杂的场景,并不真正适用。好的,问题:我有一个非常简单的表格,其中包含交易收款人及其相关类别的列表。结构为id-int,name-varchar,andcat-varchar我正在尝试执行一个简单的查询以按字母顺序显示收款人姓名,并使用while循环将其添加到选择框中。无论我是否使用ASC或DESC,它们都没有明显的顺序显示条目的开头或结尾没有空格。这是查询-SELECTnameFROMpayeesORDERBYname尝试在phpMyAdmin中按字母顺序对它们进行排序时,我得到了相同的结果。

mysql order by 不是唯一的等级?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowdoIHandleTiesWhenRankingResultsinMySQL?我想按Activepoints对表Status进行排序,并将排名插入列rank中。它来了:RANKUSERNAMEACTIVEPOINTS1monkey100922fresnoJump543otherUser954但它应该显示的不是唯一的排名RANKUSERNAMEACTIVEPOINTS1monkey100922fresnoJump542otherUser954

mysql - 优化 MySQL - WHERE 和 ORDER BY 使用不同的列

我有一个115MByte、1,600,000行的表,用于存储房价和坐标。“SELECT”查询花费的时间太长。我想知道是否有人可以建议加快速度的方法。我的表的稍微简化的版本....CREATETABLE`prices1`(`price`INT(10)NOTNULL,`address`VARCHAR(127)NOTNULL,`lat`FLOAT(6,4)NOTNULLCOMMENT'GPSlatitude',`lng`FLOAT(6,4)NOTNULLCOMMENT'GPSlongitude',INDEX`lat`(`lat`),INDEX`price`(`price`))ENGINE=M

php - 将 NULL 值插入到类型为 char(2) 的数据库字段中

如何使用char(2)将NULL值插入数据库字段(MySQL)?在我使用mysql_query之前,我在数据库中获得了以下值:NU应该有NULL而不是这个值。看完thisquestion我切换到准备好的陈述。我的数据库中仍有NU。现在我的代码。我正在逐行读取CSV文件。然后我做if(empty($data[$c])){$data[$c]=NULL;}如果我回显$data[1],我得到NULL。然后我进行准备好的查询:$stmt=$connection->prepare("INSERTINTOtable(first,second,..)VALUES(?,?,...)");$stmt->b

php - MySQL 使用 int 从 char 列中选择 - 前导零导致意外结果

我有以下数据:stockcode(CHAR)|description(VARCHAR)----------------------------------------------1234|someproduct01234|someotherproduct我运行以下代码:$sql="SELECT*FROMstockWHEREstockcode=".$db->quoteSmart($stockcode)$res=$db->query($sql);如果我传入股票代码“01234”,我会按预期获得第二行。如果我传入“1234”,我会得到两行,而我预计只会得到第一行。通过回显sql语句,似乎是因

mysql - 具有多个 where 和 order by 子句的慢查询

我正在尝试寻找一种方法来加速缓慢的(文件排序)MySQL查询。表格:categories(id,lft,rgt)questions(id,category_id,created_at,votes_up,votes_down)示例查询:SELECT*FROMquestionsqINNERJOINcategoriescON(c.id=q.category_id)WHEREc.lft>1ANDc.rgt如果我删除ORDERBY子句,它会很快。我知道MySQL不喜欢在同一个子句中同时使用DESC和ASC命令,所以我尝试添加一个复合(created_at,votes_up)索引到question

mysql - ORDER BY 中使用的计算值是否在排序期间重新计算过?

假设我们有一个查询,它按未选择的计算值排序,例如:select*fromtableorderbycol1*col2-col3在大多数语言的典型排序操作中,在排序过程中多次使用排序值是很常见的,因为给定的记录可能与许多其他记录进行比较。有可能mysql有这样的实现。如果mysql每行一次计算这样的值并在排序完成时临时存储它们,或者每当进行比较时重新计算这些值,谁能说明确地(这可能是1-n次)?我已经标记了这个mysql,但我欢迎关于/包括其他流行数据库的评论/回答 最佳答案 答案是...mysql每行执行计算一次。由于缺乏可信的答案,

mysql - 在两个不同的组中使用 ORDER BY 的 SQL 查询

假设我有一张包含NBA球员的简单表格:id,player,mp,ppg(mp-参加的比赛,ppg-每场比赛的得分)。我需要一个查询来获取所有人员,但将结果分成两部分:按PPGdesc要求参加了30场以上比赛的球员,按PPGdesc要求打了不到30场比赛的球员理想的输出是(示例):n.playermpppg1.player18232.52.player25632.13.player38229.74.player48027.6...70.player70751.5(lowestinthe30+gamesgroup)71.player712935.7(highestinthelessthan