我如何将SQL查询转换为序列化?

问题描述 投票:0回答:1

我有此sql块-我正在使用postgres DB。如何将该查询转换为序列化ORM格式?谢谢

select 
    to_char (created_at,'Mon') as month,
    extract (year from created_at) as year,
    id_product as product ,
    sum (sales) as sales
from 
    toiletries
group by 
    1, 2, 3
sql node.js orm sequelize.js
1个回答
0
投票

您可以通过使用sequelize.literals()实现此目的>

const Toiletries = sequelize.define('toiletries', {
    id_product: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        autoIncrement: true
    },
    productName: {
        type: Sequelize.TEXT,
    }
    sales: {
     type: Sequelize.INTEGER,
    }
}, {
    freezeTableName: true,
    tableName: 'toiletries'
});
Toiletries.findAll({
  group: ['id_product', 'createdAt'],
  attributes: [
    ['id_product', 'product'],
    [sequelize.literal('extract(YEAR FROM "createdAt")'), 'year'],
    [sequelize.literal('sum (sales)'), 'sum']
  ]
}).then((inn) => {
  console.log(JSON.stringify(inn))
});

您需要对“ to_char”列进行一些挖掘。如果您提供表结构,我们也可以将其提取。

© www.soinside.com 2019 - 2024. All rights reserved.