小编Joh*_*ohn的帖子

在sql server中查找中位数到表中的每个日期

我使用下面的查询来查找每个扇区的中位数

SELECT DISTINCT Sector,
    PERCENTILE_DISC(0.5) WITHIN
GROUP (ORDER BY Value) OVER (PARTITION BY sector) AS Median
FROM TABLE
Run Code Online (Sandbox Code Playgroud)

该表格式如下

    Sector  Date    Value
    A   2014-08-01  1
    B   2014-08-01  5
    C   2014-08-01  7
    A   2014-08-02  6
    B   2014-08-02  5
    C   2014-08-02  4
    A   2014-08-03  3
    B   2014-08-03  9
    C   2014-08-03  6
    A   2014-08-04  5
    B   2014-08-04  8
    C   2014-08-04  9
    A   2014-08-05  5
    B   2014-08-05  7
    C   2014-08-05  2   
Run Code Online (Sandbox Code Playgroud)

所以我得到了预期的结果如下

    Sector  Median
    A   5
    B   7
    C   6
Run Code Online (Sandbox Code Playgroud)

现在我需要更改流程,以便计算中位数,同时仅考虑到给定日期的记录.所以新的结果将是

    Sector  Date    Value …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server median

6
推荐指数
1
解决办法
193
查看次数

如何在sql server数据库中添加描述

我使用 SQL Server Express 2012 并且有多个 SQL Server 数据库,有时很难找出哪个是哪个。所以我想对每个数据库进行描述。但是我在管理工作室中找不到任何这样的选项。有没有人遇到过这个问题并知道解决方案

sql-server

6
推荐指数
1
解决办法
1357
查看次数

即使查询结束,pgAdmin 查询工具仍保持冻结状态

我在 Windows 7 笔记本电脑上运行 postgresql 9.6。没有其他人连接到数据库。我在 Pgadmin4 的查询工具中运行了一个插入 SQL。查询在 20 分钟左右后结束。记录被插入并且 pg_stat_activity 中的状态从活动变为空闲,我通过打开另一个查询工具窗口进行了检查。但是运行查询的原始窗口继续被消息冻结

“等待查询执行完成”

我该如何解决这个问题。我做了一些研究。如以下链接所述,它是否与 TCP/IP 连接断开有关

链接 1

链接 2(在连接到数据库下已删除)

pgadmin

5
推荐指数
2
解决办法
5479
查看次数

用户可以编辑网站的javascripts吗?

我正在建立一个使用大量javascripts的网站.我想知道用户是否可以编辑js并看到它.

例如,我有一个调用a.php的ajax函数.用户可以在firebug或类似的东西中编辑js函数,使其成为我想要的b.php,不希望每个人都可以使用.

同样,我用参数x调用ajax函数.用户是否可以创建该参数y然后调用该函数.

javascript php ajax

3
推荐指数
1
解决办法
104
查看次数

如何以与子句中给出的顺序相同的顺序获取查询结果

我有一个像下面这样的表,id是主键

      ID Name
      1  a
      2  b
      3  c
      4  d
      5  e 
Run Code Online (Sandbox Code Playgroud)

并有如下查询.此查询是在用户输入选项的php文件中创建的.

    select name from table where id in (1,5,3)
Run Code Online (Sandbox Code Playgroud)

我得到结果("a","c","e"),我猜这是正常的,因为默认的主键排序顺序.但是我希望结果按照与"in"子句相同的顺序排序.所以我希望返回值为("a","e","c").有没有办法在mysql中获取它.

php mysql

2
推荐指数
1
解决办法
965
查看次数

PostgreSQL 中的 PERCENTILE_DISC() 作为窗口函数

我们正在将我们的系统从 SQL Server 移植到 PostgreSQL。我们计算过去 3 个月所有日期所有公司的每日营业额中位数。以下是相同的简化查询

SELECT B.Company, B.Dt, B.Turnover,   (Select distinct
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY Turnover)  OVER (PARTITION
BY B.Company, B.Dt) from Example_Tbl AS G  where G.Company = B.Company
and G.Dt <= B.Dt and  G.Dt > DateAdd(dd, -92, B.Dt)) as
Med_3m_Turnover FROM Example_Tbl B;
Run Code Online (Sandbox Code Playgroud)

问题是 PostgreSQL 不支持使用percentile_disc()作为窗口函数。错误信息是:

错误:有序集聚合 percentile_disc 不支持 OVER

有什么方法可以使用 PostgreSQL 中的其他东西来实现相同的功能。

编辑:这是 Example_Tbl 中的示例输入数据

Company  Dt   Turnover 
x        1    10 
x        2    45 
x        3    20 
y        1    300 
y        2    100 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql window-functions

2
推荐指数
1
解决办法
5251
查看次数