テーブルに個別のタプルをリストするさまざまな方法は何ですか。GOLDMAN SACHSからの元の質問では、そのような方法の 1 つがDISTINCTを使用している 10 の異なる方法をリストするように指示されています。誰かが私をもっと助けてくれますか..
質問する
3137 次
4 に答える
8
Here's four.
GROUP BY <all_columns>
SELECT * FROM T INTERSECT SELECT * FROM T
SELECT * FROM T UNION SELECT * FROM T
SELECT * FROM T EXCEPT SELECT * FROM T WHERE 1 = 0
于 2012-06-26T10:46:24.833 に答える
1
Set @row:=0;
select colname from (select colname,@row:=@row+1 as Row from tablename group by colname) as abc where Row>0;
これは、エントリに行名を与える別の方法です。
于 2012-06-30T06:12:58.023 に答える
1
ここに別のものがあります(ANSI SQL)
select *
from (
select t.*,
row_number() over (partition by <all_columns>) as rn
from t
) t
where rn = 1
于 2012-06-26T10:50:05.167 に答える
0
1 Count と Group By の使用:
select f1,f2,count(*) from sample_table
group by f1,f2
having count(*) = 1;
2 共通テーブル式を使用:
;WITH CTE (Col1,Col2,Col3,DuplicateCount)
AS
(
SELECT Col1,Col2,Col3,
ROW_NUMBER() OVER(PARTITION BY Col1,Col2,Col3 ORDER BY Col1) AS DuplicateCount
FROM MyTable)
Select * from CTE Where DuplicateCount=1
于 2012-06-26T10:55:42.707 に答える