AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-56827

Kim Stacks's questions

Martin Hope
Kim Stacks
Asked: 2018-08-23 21:58:40 +0800 CST

如何在 postgres 上同时通过连接对多个表运行更新查询?

  • 1

在 MySQL 中,我可以进行这样的查询

UPDATE 
    prd_sectionshapename  se
inner join 
    prd_shape s
ON
    s.id = se.shape_id
SET
   se.company_shape_name = 'ABC',
   s.name_en = 'Another name'
WHERE s.serial_number = '1234ST';

在 Postgres 中,我需要分成 2 个查询

UPDATE prd_shape AS s
SET name_en = 'Another name'
WHERE s.serial_number = '1234ST';


UPDATE prd_sectionshapename AS se
SET company_shape_name = 'ABC'
FROM prd_shape s
WHERE se.shape_id = s.id and s.serial_number = '1234ST';

我的问题是可以像 MySQL 一样在 1 个查询中完成吗?

请注意,我在互联网上找到的其他 postgres 更新连接答案通常表明更新效果仅发生在单个表上,即使使用了 JOIN 也是如此。

我的目的是在一个查询中更新多个表。不只是一张桌子。

postgresql join
  • 2 个回答
  • 17349 Views
Martin Hope
Kim Stacks
Asked: 2015-02-03 22:25:18 +0800 CST

当数据仓库的星型模式中事实频繁变化时该怎么办?

  • 0

我有一个作为 CRUD Web 应用程序构建的报价管理系统。

随着时间的推移,我意识到我需要改进它,以便管理层可以有他们的报告。

因此,我研究了数据仓库的 Kimball 方法。

我现在熟悉维度表和事实表的概念。

在纸和笔上,我已将报价单行项目标识为事实表。

我的问题是有时,销售代表和客户就订单项经常来回切换,所以订单项会频繁更改数量甚至被删除。

我知道根据 Kimball 的书,事实表不应该有零行。

我的问题是如何处理事实表中的此类更改?

根据消息来源,我应该不断更新事实表。

请指教。

data-warehouse change-data-capture
  • 1 个回答
  • 3792 Views
Martin Hope
Kim Stacks
Asked: 2015-02-01 06:08:02 +0800 CST

有一个单独的数据库用于数据仓库吗?

  • 3

我已经使用 PHP 和 MySQL 构建了一个典型的 Web 应用程序,供企业使用。

MySQL数据库尽量采用3NF。

然而,随着时间的推移,对数据的请求似乎更多地是针对数据仓库,以便他们可以以任何他们想要的方式对数据进行切片和切块。

因此,我拿起了一本书 Kimball Group 的第 3 版数据仓库工具包。

作者在内部描述了 Kimball DW/BI 架构,并为 DW/BI 目的使用星型模式用于维度表和事实表。见下文。

在此处输入图像描述

我的问题是,由于我最熟悉 PHP 和 MySQL,我是否应该在与原始 3NF 数据库不同的数据库中拥有数据仓库星型模式?

不会使用商业 BI 工具。任何看起来像 OLAP 或 BI 的东西都可能是我可以扩充自己的开源软件。

请指教。

编辑

我的整个 3NF MySQL 数据库目前大约是 20mb,到目前为止每月增长大约 1mb。

data-warehouse business-intelligence
  • 2 个回答
  • 2407 Views
Martin Hope
Kim Stacks
Asked: 2015-01-18 07:32:26 +0800 CST

如何在 mysql 中自动分配序数排名,并尽可能少地查询新行?

  • 2
+----+---------+---------+-----------------+
| id | view_id | user_id | ordinal_ranking |
+----+---------+---------+-----------------+
|  1 |      10 |       1 |               1 |
|  2 |      10 |       2 |               1 |
|  3 |      11 |       1 |               2 |
|  4 |      11 |       2 |               2 |
+----+---------+---------+-----------------+

所以假设我想为 view_id 12 和 user_id 1 和 2 插入新行,这 2 个新行的序数应该是 3。

如何用最少的查询来做到这一点?

请记住,我有很多用户可能都分配了不同数量的视图。

这个问题的另一个推论是当我需要删除一个特定的视图时,比如视图 10,所有受影响的用户都应该重新排序。

我如何用最少的查询来做到这一点?

编辑

对每个用户的观看次数发表了评论。我想补充一点,您可以放心地假设有一个users表,其中一列存储每个用户记录的视图数。

如果序数排名是从零开始的,我也可以,即排名是0、1、2、3等

我也不喜欢使用存储过程。

编辑2:

+----+---------+---------+
| id | name | view_count |
+----+---------+---------+
|  1 |     Sal |       2 |
|  2 |     Sam |       2 |
+----+---------+---------+

是users表

这ordinal_ranking仅反映了用户对她可以查看的视图的个人选择。

例如,用户 1 Sal 喜欢让视图 10 的排名高于视图 11。

mysql performance
  • 2 个回答
  • 1478 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve