mysql – sqlite – 如何在群组中随机订购?

假设我有一个表格,其中一列是:

Letter  
A
B
B
C
A
A
C

我正在尝试进行一个查询,它将按顺序返回这些字母,但是以随机顺序返回,比如首先是所有的C,然后是所有的A,等等.示例:

Letter  
C
C
A
A
A
B
B

所以这些字母会一起出现,但每次我查询它时都会以随机顺序出现.我怎么能做到这一点?

解决方法:

这是一种方法

select t.*
from t join
     (select letter, rand() as rnd
      from t
      group by letter
     ) tt
     on t.letter = tt.letter
order by tt.rnd;

一种更简单的方法是在字母本身上使用计算.这是一种方法

select t.*
from t
order by rand(ascii(t.letter));

这是规范的,因此连续运行两次会返回相同的结果.

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能