簡體   English   中英

選擇與列相關的行

[英]select rows related with a column

我有這樣的桌子; col1 col2 col3 week abc 21 afg 22 cde 23 aef 24 fgh 25 acf 26 fbe 27我想計算包含'a'且相差1周和2周等的行。 2次相差1周,1次相差0周。 week diff. count 0 1 1 2 2 0 week diff. count 0 1 1 2 2 0等等。 謝謝,我想用我的英語不好說清楚。

我不確定我是否理解問題。 但是,假設:

  • 您要計算任何列(col1,col2,col3)中帶有“ a”的行。
  • 當您說“ 2次相差1周”時,這是2次,因為“ a”連續2周出現:21和22。
  • 以同樣的方式,將有3行(因此,有3次),帶有“ 2周差異”:行列等於22、24、26的行

然后,以下查詢可能會有所幫助:

SELECT 
    ABS(t2.week - t1.week) AS week_difference,
    COUNT(DISTINCT t1.week) AS count      
FROM 
    temp t1, temp t2
WHERE 
    ((t1.col1 = 'a' OR t1.col2 = 'a' OR t1.col3 = 'a') 
    AND (t2.col1 = 'a' OR t2.col2 = 'a' OR t2.col3 = 'a')) 
    AND  ABS(t2.week - t1.week) <= 2
GROUP BY 
    week_difference
ORDER BY 
    week_difference

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM