[英]How to compare two columns in SQL for multiple rows?
我有一個包含四列的數據集( author
, document
, rating 1
, rating 2
)
我該如何挑選那些撰寫的文檔的rating 1
被評為rating 1
級高於rating 2
,並且還撰寫了另一文檔的rating 2
被評為rating 2
級高於rating 1
?
基本上:
AUTHOR DOCUMENT RATING 1 RATING 2
A 1 1 2
B 2 1 2
B 3 3 1
C 4 2 2
C 5 3 4
C 6 1 3
D 7 1 2
D 8 1 2
所以我想要的查詢將給我B和C,因為它編寫的文檔在兩個等級中都有較高和較低的數字。
我有的:
SELECT DISTINCT author
FROM(
(SELECT author
FROM table_name
WHERE rating1 < rating2)
UNION
(SELECT author
FROM table_name
WHERE rating1 > rating2)
)
AS a
我無法弄清楚如何對作者進行分組,測試rating 1
和rating 2
是否都較高和較低,輸出名稱,然后轉到下一組作者。 上面打印的只是一組不同的名稱,它們具有較高或較低的數字。 因此,例如,這也將打印D。
我缺少滿足上述條件的SQL代碼是什么
嘗試這個,
select *
from myTable as t1
inner join MyTable as t2
on t1.author = t2.author
and t2.rating1 > t2.rating2
where t1.rating1 > t1.rating2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.