博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs Sequelize 简单查询语句和 mysql常用的几个查询命令
阅读量:6688 次
发布时间:2019-06-25

本文共 2302 字,大约阅读时间需要 7 分钟。

我是前端,但总有需求让做后端的活,所以顺带着熟悉了下简单的查询语句

贴出来,如果有需要可以参考下,备注很详细,就不多解释了

废话不多说贴代码:

#去除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_resultsignALTER 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('pingan_scame', 'root', '123456', {    host: 'localhost', // 数据库地址    dialect: 'mysql', // 指定连接的数据库类型    operatorsAliases: false,    pool: {        max: 5, // 连接池中最大连接数量        min: 0, // 连接池中最小连接数量        idle: 10000 // 如果一个线程 10 秒钟内没有被使用过的话,那么就释放线程    }});

转载于:https://blog.51cto.com/13496570/2405466

你可能感兴趣的文章
linux中生成考核用的GPT分区结构样例(二)
查看>>
我的友情链接
查看>>
编辑vi 查看网卡命令
查看>>
常见的内存错误及其对策
查看>>
C语言:冒泡法排序一组数,如何优化?
查看>>
分享16个javascript&jQuery的MVC教程
查看>>
使用MediaElement.js构建个性的HTML5音频和视频播放器
查看>>
阿里云域名配置与解析
查看>>
常用的.net开源项目
查看>>
until 循环:实现一个shell脚本,不停地询问用户要执行什么操作,直到用户输入quit才会退出...
查看>>
thinkphp中无法加载数据库驱动
查看>>
MyBatis的xml文件增量热加载,支持多数据源
查看>>
wine安装的软件如何卸载
查看>>
C语言中基本的数据类型 和常用表达式
查看>>
More Fileds的直接输出和获取自定义字段的方法
查看>>
12.1LNMP架构介绍12.2MySQL安装12.312.4 PHP安装12.5Nginx安装
查看>>
ubuntu下安装ROR
查看>>
static 关键字
查看>>
linux系统下zookeeper设置开机启动失败,求指教
查看>>
sed的用法
查看>>