nodejs Sequelize和mysql有哪些常用的查询命令
admin
2023-04-17 08:21:27
0

下面讲讲关于nodejs Sequelize和mysql有哪些常用的查询命令,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完nodejs Sequelize和mysql有哪些常用的查询命令这篇文章你一定会有所受益。

#去除unionid 重复的搜索结果
#query_resultsign 表名
select *, count(unionid) from query_resultsign where issign='false' group by unionid ;

#去除unionid 重复的搜索结果
#query_resultsign 表名
select *, count(unionid) from query_resultsign where issign='true' group by unionid ;

#求未签约用户的平均访问频率(即为求搜索结果列的平均值issign='false' 未签约)
#cuid 是unid的别名
#query_resultsign 表名
select AVG(bs.cuid) as unUserAvg FROM (select *, count(unionid) cuid from query_resultsign where issign='false' group by unionid  ) as bs;

#求平均值
#(即为求搜索结果issign='true' count的平均值)
#bs为子查询的别名,不带别名会报错
#query_resultsign 表名
select AVG(bs.cuid) userAvg FROM (select *, count(unionid) cuid from query_resultsign where issign='true' group by unionid  ) as bs;

#增加id 列 int 
#query_resultsign
ALTER TABLE query_resultsign add id int;

#使表 query_resultsign (上一步)增加的列变为自增列
alter table query_resultsign change id id int NOT NULL AUTO_INCREMENT primary key;

 #获取两列数据中有相同数据的列
 #query_resultsign 表名
select   p1.*   from   query_resultsign   p1,query_resultsign   p2   where   p1.id<>p2.id
 and   p1.x   =   p2.x  
 and   p1.y   =   p2.y  ;

 #查找表query_resultsign unionid 相同的用户
 select   p1.*   from   query_resultsign   p1,query_resultsign   p2   where   p1.id<>p2.id
 and   p1.unionid   =   p2.unionid ;

sequelize 的调用sql语句的方法顺带提一下,网上大多教程都是用model 查询的,每次都要建立model。有点麻烦 。配置的教程请参看配置教程。

sequelize调用sql主要用query(sql,{})方法:

var Sequelize = require('sequelize');//引入sequelize 
var sequelize = require('./../../database/dataconfig'); //引入连接配置文件

//查找签约用户
exports.selectHeatData = function (req, res) {
    return sequelize.query("select * from `query_resultSign` where issign ='true'", { type: sequelize.QueryTypes.SELECT }).then(data => {
        // console.log('******', data);
        res.send(data);
    }).catch(err => {
        console.log('错误', err)
    })
}
//其他方法就是换了下sql语句

主要知识点就是query方法内传入查询出的结果的类型 { type: sequelize.QueryTypes.SELECT }  这样就不用手动转换成json对象了。

附带配置文件代码

dataconfig.js

var Sequelize = require('sequelize');

module.exports = new Sequelize('数据库名', '用户名', '登录密码', {
    host: 'localhost', // 数据库地址
    dialect: 'mysql', // 指定连接的数据库类型
    operatorsAliases: false,
    pool: {
        max: 5, // 连接池中最大连接数量
        min: 0, // 连接池中最小连接数量
        idle: 10000 // 如果一个线程 10 秒钟内没有被使用过的话,那么就释放线程
    }

});

对于以上nodejs Sequelize和mysql有哪些常用的查询命令相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...
日防相声称:新西兰考虑进口日本... 据凤凰卫视报道,5月12日,日本防卫大臣小泉进次郎在记者会上表示,新西兰已将日本海上自卫队最上型改良...
小米YU7 GT“车厘子红”无... 5 月 12 日消息,博主 @王的男人、昨日晒出了小米 YU7 GT「车厘子红」实车照片。画面显示,...
中关村论坛重磅发布!大兴机场临... 3月27日,在中关村论坛数据跨境流动创新发展论坛上,北京大兴国际机场临空经济区(大兴)正式发布跨境可...
白宫公布随特朗普访华16位商界... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...
荣耀申请代码生成方法专利,提高... 国家知识产权局信息显示,南京荣耀软件技术有限公司申请一项名为“代码生成方法、电子设备及存储介质”的专...
凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...
知情人士:阿联酋秘密打击伊朗,... 据参考消息援引美国《华尔街日报》网站5月11日报道,多名知情人士透露,阿联酋已对伊朗发动军事打击,令...
美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...
特朗普二度来华,五大博弈看点,... 就在5月11日,外交部官宣了一则重磅消息:应中国邀请,美国总统特朗普将于5月13日至15日开启访华行...