草庐IT

php - 我必须在目录列表页面组中按 A-Z 执行 26 次 mysql 查询吗?

我想为我的网站制作一个目录列表页面。该页面显示我的所有站点文章。这些文章按标题的第一个字母分组。我必须运行26次mysql查询吗mysqlquerylike"SELECT*FROMarticlesWheretitlelike'a%'"mysqlquerylike"SELECT*FROMarticlesWheretitlelike'b%'"mysqlquerylike"SELECT*FROMarticlesWheretitlelike'c%'"...mysqlquerylike"SELECT*FROMarticlesWheretitlelike'z%'"我的html输出是:AAnhuiA

php - 我如何在 SilverStripe 3.1 中按字母顺序排序(但大写字母不是小写字母之前的一组)?

在SilverStripe3.1中,我可以通过执行以下操作获得Children的排序列表:$this->Children()->sort('Title','ASC');但是当我这样做时,大写字母(作为一个组)排在小写字母(作为一个组)之前;因此“D”出现在“a”之前:AadbBdbddCdbdDbddbaeb但我想要这样的排序顺序:AadbaebBdbddCdbdDbddb我如何在SilverStripe中执行此操作?编辑我找到了一个类似的questionWillr说:Strange!Iwouldhavethoughtitwouldbecaseinsensitive.Youcoulds

php - 我如何在 CakePHP 中按 'votes' 排序?

我将CakePHP用于CMS/Web服务以支持iPhone应用程序。我想知道如何对.find()方法进行排序,以便我可以按某些外部模型的“计数”进行排序?例如:video对象与votes相关联。因此,单个视频行有多个投票行(具有user_id和video_id)。$videos=$this->Video->find('list',array(>));如何更改orderby子句,使其返回投票的25个最受欢迎的视频? 最佳答案 假设您有以下表格:CREATETABLE`videos`(`id`char(36)NOTNULL,`name`

mysql - 如何在 MySQL 中按关联表中的匹配数对行进行排序?

我很抱歉,因为我真的不知道如何正确地形成我的问题,所以我会解释我的问题:我有3个简单的MySQL表:表recipes包含id列和许多其他对这个问题不重要的列表ingredients有2列:id,name关联表recipes_ingredients,包含2个ID列id_recipes和id_ingredients现在我希望用户按成分搜索食谱。用户可以一次指定一种或多种成分。当我想要匹配所有用户成分的食谱或至少匹配其中一种成分的食谱时,我知道如何为这种情况编写SQL。但我的问题是,我如何订购食谱,以便第一个是与用户搜索的成分匹配最多的成分。我整天都在想这个问题,但我还没有想出任何主意。感谢

mysql - 如何在 MySQL 中按特定模式搜索?

我在字段中有以下数据模式XXX-XX-XXX有些数据没有这种模式。所以需要搜索那些记录。SELECT*FROMtableWHERE`name`NOTREGEXP'^.{10}$'SELECT*FROMtableWHERE`name`NOTREGEXP'^..........$'以上2个查询工作正常。但不是100%。我可以按{3}-{2}-{3}过滤吗? 最佳答案 您想要匹配一个字符串,该字符串包含3个字母数字字符,后跟-,然后是2个字母数字字符,然后是一个连字符,最后是字符串中的3个字母数字字符。使用'^[[:alnum:]]{3}

mysql - 在mysql中按最接近的值排序

需要对以下搜索功能进行优化查询产品表Productatt1att2att3att4att5p112232p241155p353532p444211如果用户搜索att1=3,att2=2和att3=5然后,我们需要最大可能的顺序显示所有记录所有必需属性的评级注意:-在第一行中只能找到一个可能的匹配项。-在第二行没有找到,-在第三行找到一个匹配项所以根据匹配的数量,我们需要对记录进行排序,如果找不到完全匹配,则放松搜索元素 最佳答案 select*fromproductorderby(att1=3)+(att2=2)+(att3=5)d

php - 从表中查找最新消息,在 mysql 中按用户分组

我的网站上有一个私有(private)消息表,现在我有一个单独的收件箱和发件箱。我想合并收件箱/发件箱,只显示特定用户的最新消息。TLDR:我想显示发送给每个用户或从每个用户分组的最新消息。表格示例|id|fromuser|fromid|touser|toid|message|timestamp|--------------------------------------------------------------------------------|1|user1|1|user2|2|Hello..|2015-01-0100:00:00||2|user1|1|user3|3|ok

php - 如何在sql中按两列分组?

我有两个表,一个是“事件”,第二个是“门票”:事件表:============================|event_id|event_name|============================|101|RunningEvent||102|CyclingEvent|============================门票表:==============================================================|ticket_id|event_id|ticket_number|ticket_generate_date|=======

php - Yii2 - 在 GridView 中按一对多对一关系排序和过滤

我有3个模型:PurchaseOrders、PurchaseOrderItems和Vendors。PurchaseOrders可以有多个PurchaseOrderItems与之关联,每个PurchaseOrderItem可以有一个与之关联的供应商。我的难题是,我不仅需要在PurchaseOrderGridView中显示供应商,还需要使该列能够被过滤和排序。我已经找到MySQL查询来获取与PurchaseOrder相关联的供应商,但在将它与Yii2捆绑在一起时不知所措。查询:SELECTpos.id,pos.notes,group_concat(distinct(vend.name)or

mysql - 在sql中按选定记录排序

我有一张tablecity|pincodeabcd|123456xyz|326545asd|625844city|999999并且我希望结果首先按照所选的pincode排序如果我选择pincode是625844哪个城市是asd它必须先显示期望的输出:city|pincodeasd|625844 最佳答案 select*fromtblorderby(casewhenpincode='625844'then0else1end),pincode或者如果选择的pincode作为参数@pincode传入,这应该可以工作select*fromt