window-functions

    0熱度

    1回答

    我試圖按產品類型查找每月新用戶的數量。但是,我仍然收到要求在集合函數中使用的錯誤cnt。 SELECT EXTRACT(MONTH FROM date) AS month FROM (SELECT users.date, COUNT(*) OVER(PARTITION BY product_type) AS cnt FROM users) AS u GROUP BY month

    0熱度

    1回答

    我試圖做一個查詢,輸出一個列表公司的數據和每個公司的產品和折扣的數量,並按product_count排序。 此外,我需要將輸出限制爲每組30行 SELECT * FROM ( SELECT *, ( SELECT COUNT(*) FROM Products WHERE Product_Comp_id = Comp_id ) as product_count, (

    1熱度

    1回答

    我的下面的查詢工作正常,它根據最新的掃描將新產品註冊到不同的位置。 我的問題是,有時我收到的產品具有相同的ID(這實際上是可能的)。 在我的波紋管表中,通常當產品到達位置5這意味着它已完成,並且當新產品獲得註冊時,它始終始於位置1。 正如你可以看到下面我再次得到了產品「2222」,我想我的下面「FirstScanned」檢索2222',1,'2017-05-17 15:58而不是2222',1 「

    1熱度

    1回答

    說我有這個表, year | name | score ------+---------------+---------- 2017 | BRAD | 5 2017 | BOB | 5 2016 | JON | 6 2016 | GUYTA | 2 2015 | PAC | 2 2015 | ZAC | 0 我將如何去通過平均每年的分數,然後讓年之間的

    1熱度

    1回答

    我有一個表格,它包含每日小時星期一,我有一個計算並返回每週總數的函數。我總結了這些基於當前周和分區由element_id和start_date調用結果WEEK_HRS_TOTAL。 這會導致每週的總數。 SUM(GENERATED_FOR_WEEK(et.START_DATE, et.END_DATE, elm.element_id, MON...SUN_)) OVER(PARTITION BY

    2熱度

    1回答

    我試圖計算相對日期範圍內的值的最大值。假設我有這些列:日期,周,類別,值。注意:「星期」列是相應日期的星期一。 我想生成一個表格,在每個日期,星期,類別組合的最後兩週內給出最大值,以便輸出產生以下內容:日期,周,類別,值,2WeeksPriorMAX。 我該如何去寫這個查詢?我不認爲有以下將工作: SELECT Date, Week, Value, MAX(Value) OVER (P

    0熱度

    3回答

    我想使用窗口函數獲取ColC變爲True時的第一個日期(按ID分組)並創建一個新列。 id date ColC 1 2017-04-20 t 1 2017-04-19 t 1 2017-04-18 t 2 2017-04-20 t 2 2017-04-19 f 因此,作爲結果,我希望得到以下幾點: id first_date 1 2017-04-

    0熱度

    1回答

    最後的結局對於表T1 +----------+-----------+-----------------+ | PersonID | Date | Employment | +----------+-----------+-----------------+ | 1 | 2/28/2017 | Stayed the same | | 1 | 4/21/2017 | Stayed the

    0熱度

    1回答

    我有以下SQL查詢,需要將其轉換到Sybase SELECT prd_name, DENSE_RANK() OVER (PARTITION BY prd_cat ORDER BY createddt) FROM product 表腳本: CREATE table product(prd_name varchar(10), prd_cat varchar(10),

    3熱度

    1回答

    我想定義一個PostgreSQL聚合函數,它知道框架子句中要求的行但缺少的行。具體而言,讓我們考慮一個聚合函數framer,其作業是返回一個由通過它聚合的值組成的數組,並將該幀中的任何缺失值作爲null返回。所以, select n, v, framer(v) over (order by v rows between 2 preceding and 2 follow