我有一個星表的測量表。 每一行(即一個度量)都包含星號和星期。基於多行的條件的MySQL查詢
比方說,例如:
Star_ID Period
1 4.1
1 3.6
2 4.1
2 4.1
2 8.7
3 2.5
4 1.3
4 1.3
我想寫一個返回Star_ID唯一具有一個以上的測量與同時期的明星的查詢。在我們的例子中,它應該返回{2,4}。
任何人都可以幫助我嗎?
我有一個星表的測量表。 每一行(即一個度量)都包含星號和星期。基於多行的條件的MySQL查詢
比方說,例如:
Star_ID Period
1 4.1
1 3.6
2 4.1
2 4.1
2 8.7
3 2.5
4 1.3
4 1.3
我想寫一個返回Star_ID唯一具有一個以上的測量與同時期的明星的查詢。在我們的例子中,它應該返回{2,4}。
任何人都可以幫助我嗎?
這裏是另一種選擇僅在Star_ID
柱,其只是做一個GROUP BY
:
SELECT Star_ID
FROM yourTable
GROUP BY Star_ID
HAVING COUNT(*) - COUNT(DISTINCT Period) >= 1
按照以下鏈接的運行演示:
您可以使用基和具有
select Start_ID
from my_table
group by star_ID, Period
having count(*) > 1
您可以通過start_id
和Period
併爲此獲得的行數..的計數獲得所需的值 分組行 那麼你可以過濾使用具有和檢查FO計數的結果(*)> 1 ..
在短暫請解釋一下,這樣的PO可以學到新的東西。 – 1000111
如果期限的條件更復雜?即代替等於週期滿足P1-P2
Tomer
我有更新.. – scaisEdge