我使用下面的查询来查找每个扇区的中位数
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 Server Express 2012 并且有多个 SQL Server 数据库,有时很难找出哪个是哪个。所以我想对每个数据库进行描述。但是我在管理工作室中找不到任何这样的选项。有没有人遇到过这个问题并知道解决方案
我在 Windows 7 笔记本电脑上运行 postgresql 9.6。没有其他人连接到数据库。我在 Pgadmin4 的查询工具中运行了一个插入 SQL。查询在 20 分钟左右后结束。记录被插入并且 pg_stat_activity 中的状态从活动变为空闲,我通过打开另一个查询工具窗口进行了检查。但是运行查询的原始窗口继续被消息冻结
“等待查询执行完成”
我该如何解决这个问题。我做了一些研究。如以下链接所述,它是否与 TCP/IP 连接断开有关
和
链接 2(在连接到数据库下已删除)
我正在建立一个使用大量javascripts的网站.我想知道用户是否可以编辑js并看到它.
例如,我有一个调用a.php的ajax函数.用户可以在firebug或类似的东西中编辑js函数,使其成为我想要的b.php,不希望每个人都可以使用.
同样,我用参数x调用ajax函数.用户是否可以创建该参数y然后调用该函数.
我有一个像下面这样的表,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中获取它.
我们正在将我们的系统从 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) php ×2
sql ×2
sql-server ×2
ajax ×1
javascript ×1
median ×1
mysql ×1
pgadmin ×1
postgresql ×1
t-sql ×1