标签: over-clause

如何使用linq树表达式创建具有动态列的数据透视表

我正在写一个asp.net C#Web应用程序; 我有一个名为' table1'有三列' country',' productId'和' productQuantity' 的内存数据表; 我想转动该表以获得一个新表(假设' table2')将第一列' country'作为固定列,动态数字和列' product_1',' product_2',...,' product_n'的名称根据' table1'中存在的产品总数; 第一列' country'必须包含国家/地区名称; 动态生成的列' product_1',' product_2',...,' product_n'必须包含productQuantity已为指定国家/地区的每个特定产品选择的列

我正在使用Linq查询表达式来编写代码; 问题是我不能硬编码名称和产品的价值; 我无法预测数据表中存在多少产品; 现在,我正在使用以下表达式测试结果:

var query = table1.AsEnumerable()
                .GroupBy(c => c.country)
                .Select(g => new
                {
                    country = g.Key,
                    product_1 = g.Where(c => c.productId == "a30-m").Select(c => c.productQuantity).FirstOrDefault(),
                    product_2 = g.Where(c => c.productId == "q29-s").Select(c => c.productQuantity).FirstOrDefault(),
          .
          .
          .
                    product_n = g.Where(c …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net linq-to-dataset over-clause

5
推荐指数
1
解决办法
5433
查看次数

从滚动最大值检索日期

我有一个带有日期 ( session_date) 和值 ( price) 的 SQL Server 表。

会话日期 价格
2022-12-31 10
2022-12-30 9
2022年12月29日 5
2022年12月28日 7
2022年12月27日 2
2022-12-26 9
2022年12月25日 3
2022年12月24日 1

我想计算最后 3 行(日期)的滚动最大值并检索与每个最大值关联的 session_date:

会话日期 价格 滚动最大 滚动最后日期
2022-12-31 4 9 2022年12月29日
2022-12-30 4 9 2022年12月29日
2022年12月29日 9 9 2022年12月29日
2022年12月28日 7 7 2022年12月28日
2022年12月27日 2 4 2022-12-26
2022-12-26 4 4 2022-12-26
2022年12月25日 3 3 2022年12月25日
2022年12月24日 1 1 2022年12月24日

我正在使用此查询来计算滚动最大值,但如何获取关联的session_date

select session_date
, price
, max(price) over …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server over-clause window-functions

5
推荐指数
1
解决办法
215
查看次数

MSSQL 2008 R2中的窗口函数问题

我在以下sql脚本中收到执行错误.

Select TOP 1 Percent a.accode,a.voucherdate,a.credit,a.Debit,
    SUM(a.Debit) Over (Order By [a.accode],[a.voucherdate] ) as rdr 

    from VoucherMain as a 
    Order By a.accode,a.voucherdate
Run Code Online (Sandbox Code Playgroud)

错误信息

'order'附近的语法不正确.

谁能告诉我脚本syntext有什么问题?

sql-server over-clause sql-server-2008 sql-server-2008-r2

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

为什么我的查询在 Codility 的测试编辑器上返回错误?

我在 SQLite 中对Codility / 练习 6 SQL / SqlEventsDelta 的解决方案在本地数据库浏览器中有效,但在在线 Codility 测试编辑器中无效。我该如何解决这个问题?我想使用我自己的 SQLite 代码:

WITH cte1 AS
(
    SELECT *, CASE WHEN e2.event_type = e2.prev THEN 0
                 WHEN e2.event_type = e2.next THEN 0
                 ELSE 1 END AS grp
    FROM (SELECT *, LAG(e1.event_type) OVER(ORDER BY (SELECT 1)) AS prev , LEAD(e1.event_type) OVER(ORDER BY (SELECT 1)) AS next FROM events e1) e2
)
,cte2 AS
(
    SELECT cte1.event_type, cte1.time, cte1.grp, cte1.value - LAG(cte1.value) OVER(ORDER BY cte1.event_type, cte1.time) AS value
    FROM …
Run Code Online (Sandbox Code Playgroud)

sql sqlite lag lead over-clause

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