簡體   English   中英

構造查詢的最佳方法?

[英]Best way to construct a query?

首先,我想扔掉我對SQL還很陌生的東西。

假設您有一個包含x和y列的表,其中x和y均為正整數。

問題1:

什么是找到,如果指定的最佳方式yi存在的所有x值?

問題2:

什么是找到,如果指定的最佳方式yi存在於每一個x在一組x大小為p值?

我找到了一種方法,在第一種情況下,我不進行多次自我聯接,而在第二種情況下,進行p次自我聯接。 但對實現此目的的更好方法感到好奇。

表格示例:

x,y
---
1,a
1,b
2,a
3,b
3,c

您的猜想是正確的:使用大量的聯接非常低效
這是有效的方法:

問題1:如果前提為真,則這兩個值將相同

select 
    (select count(distinct x) from t1 where y = '1') as x_count_with_y,
    (select count(distinct x) from t1) as x_count 

問題2:如果前提為真,則此值將與集合中的x數相同

select count(distinct x)
from t1
where y = '1'
and x in (1,2,3,5,8)

暫無
暫無

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

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