首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sqlite/php -按“输入顺序”排序-带有内爆查询

sqlite/php -按“输入顺序”排序-带有内爆查询
EN

Stack Overflow用户
提问于 2016-12-19 07:17:43
回答 1查看 72关注 0票数 1

美元。

代码语言:javascript
运行
复制
$qtwo = str_split_unicode($q); 
$arrlength = count($qtwo);

然后我得到了:

代码语言:javascript
运行
复制
$where = array();
foreach ( $qtwo as $word ) {
$where[] = "CHS LIKE '%" . $word . "%'";
}
$where = implode(' OR ', $where);    

if ($q[0] == "#")  {
} else {$results4 = $db->query("SELECT * FROM FOUR WHERE $where");
while ($row4 = $results4->fetchArray()) {

然后是一堆回音等等--但结果按字母顺序返回--先到先得,例如:

隔山买老牛

回来时

“现代汉语方言音库·成都话音档” 词语:隔 ge2 :发音 国际音标: ke 2 “现代汉语方言音库·成都话音档” 词语:买 mai3 :发音 国际音标: mai⁵ “现代汉语方言音库·成都话音档” 词语:老 lao3 :发音 国际音标: nau⁵ “现代汉语方言音库·成都话音档” 词语:牛 niu2 :发音 国际音标:ȵIəu 2 “现代汉语方言音库·成都话音档” 词语:山 san1 :发音 国际音标: san⁵⁵

对于那些发现中文的外国人来说,这就像是在搜索:GSMLN,并按字母顺序得到结果:GMLNS

我的目标是获得与输入(顺序)相同的(输出)顺序。

有我能用的简单的订单吗?还是变得更复杂了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 09:36:05

在SQL中,表总是无序的;不能保证查询使用任何特定的顺序。

如果要按特定顺序获取行,则必须在查询中使用order对它们进行显式排序。

如果没有可以直接用于排序的表数据,则必须使用案例表达将表值映射到一些可用于排序的值:

代码语言:javascript
运行
复制
SELECT ...
ORDER BY CASE WordColumn
         WHEN '隔' THEN 1
         WHEN '山' THEN 2
         WHEN '买' THEN 3
         WHEN '老' THEN 4
         WHEN '牛' THEN 5
         END;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41217563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档