mysql - 如何 sequelize.js 这个 SQL 查询
问题描述
我在我的 nodeJS 应用程序上使用 sequelize 来查询 sql 数据库。
我尝试对这个查询进行续集,但它不起作用......
有人能帮帮我吗?
`SELECT content, COUNT(*) count FROM `hashtags` GROUP BY content ORDER BY count DESC LIMIT 10`
我试试
Tags.findAll({group: ['content'], attributes: ['content', [sequelize.fn('COUNT', 'content'), 'content']],}).then(function(results) {
标签是一个带有日期、内容、id_tweet、id 的续集定义。
我有另一个查询,但我不知道要这样做,因为有 2 个内部联接和计数:
SELECT COUNT(*) AS nombredetweets, h.content, u.pseudo FROM tweets t INNER JOIN hashtags h ON t.id = h.id_tweet INNER JOIN user u ON t.id_user = u.id WHERE h.content = ? AND u.pseudo = ?
谢谢 ;)
解决方案
看起来问题在于您如何命名计数结果。尝试这个:
Tags.findAll({
group: ['content'],
attributes: [
'content',
[
sequelize.fn('COUNT', 'content'),
'count'
]
],
order: [['count', 'DESC']],
limit: 10,
}).then(function(results) {
// ...
})
推荐阅读
- excel - 从复制的范围创建组合框
- java - 我的移动应用程序无法记录通话(java)
- amazon-web-services - AWS RDS 代理目标组 - 会话固定过滤器不起作用
- java - Firebase onVerificationCompleted 在最新版本中没有被调用
- python - QTableView中的QFileDialog:是否可以在目录和文件之间切换?
- python - 合并 2 个具有不同列的数据集并填充值
- javascript - 为什么以下 javascript 承诺链接不按顺序
- javascript - 如何自定义flask返回脚本标签提醒功能
- angular - Angular 中的开放层
- vb.net - 拍照时如何显示图像名称?