Skip to content

数据排序

Example

ts
import emysql, { DefineTable } from '@aicblock/emysql'

// 数据库实例化
const mysql = new emysql({
  password: '[db登录密码]',
  user: '[db登录用户名]',
  database: '访问数据库名称'
})

await mysql.init()

const t_user = DefineTable({
  tableName: 't_user',
  columns: [
    {
      name: 'id',
      dataType: 'INT',
      primaryKey: true,
      autoIncrement: true,
      comments: '主键id'
    },
    {
      name: 'name',
      dataType: 'VARCHAR',
      length: 45,
      notNull: true,
      comments: '名称'
    },
    {
      name: 'age',
      dataType: 'INT',
      notNull: true,
      comments: '年龄'
    },
    {
      name: 'sex',
      dataType: 'TINYINT',
      length: 1,
      notNull: true,
      comments: '性别'
    },
    {
      name: 'create_at',
      dataType: 'DATETIME',
      notNull: true,
      comments: '创建时间'
    }
  ]
})

await mysql.table.create(t_user)

// t_user 数据
const user = [
  { name: 'name1', create_at: '2024/10/11 10:55:31' },
  { name: 'name2', create_at: '2024/10/12 10:55:31' },
  { name: 'name3', create_at: '2024/10/10 10:55:31' }
]

await mysql.change.insert({
  t: t_user,
  params: user
})

// 按 create_at 字段升序排序
const result = await mysql.query({
  t: t_user,
  fields: ['name'],
  orderBy: { field: 'create_at' }
})

// result = [{ name: 'name3' }, { name: 'name1' }, { name: 'name2' }]

// 按 create_at 字段降序排序
const result = await mysql.query({
  t: t_user,
  fields: ['name'],
  orderBy: { field: 'create_at', type: 'DESC' }
})

// result = [{ name: 'name2' }, { name: 'name1' }, { name: 'name3' }]