问题描述
有关数据库的注释
它是使用Prisma生成的,因此不幸的是,多对多表中的列名分别为“ A”和“ B”。 “ A”是指在字母表中排在第一位的表,而“ B”是第二个表。例如,在_ReadingToWord中,“ A”指的是Reading.id,而“ B”指的是Word.id,因为“ r”在字母表中的“ w”之前。
问题
我有以下查询,该查询使用limit语句实现分页。 我遇到的问题是结果顺序是不确定的。 (如果我多次执行查询,则有时顺序会有所不同。)
我正在按ID(这是主键)进行订购,因此我认为应该确保订单的一致性。
任何人都可以解释为什么订购不确定性以及如何解决吗?
select * from (
SELECT w.id,hiragana,group_concat( distinct(concat(coalesce(r.downStep,-1) + 1,",r.katakana)) order by r.downStep SEPARATOR ' ')
from Hiragana a join _HiraganaToWord b on a.id = b.A join
Word w on w.id = b.B join _ReadingToWord rtw on w.id = rtw.B join
Reading r on r.id = rtw.A
WHERE hiragana like "あ%"
group by w.id
)
as groupQuery
order by length(hiragana),id asc limit 600,5;
样本运行
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)