[英]Select all column except one column in bigquery
我想排除計數以刪除以下查詢中的重復項
SELECT *, count(1) as count except (count)
FROM PRD.sites
group by site,id ,site_desc,timestamp
having count(1) < 2
但在[1:29]出現了意外的關鍵字EXCEPT錯誤。 我正在使用standardSQL
您可以在下面嘗試
select * except(count)
from
(
SELECT *, count(1) as count
FROM PRD.sites
group by site,id ,site_desc,timestamp
having count(1) < 2
)X
或者您可以使用row_number()查找重復項
SELECT * except(rn)
FROM (
SELECT
*,
ROW_NUMBER()
OVER (PARTITION BY site,id ,site_desc,timestamp) as rn
FROM FROM PRD.sites
)
WHERE rn= 1
您甚至不需要將COUNT()包含在SELECT列表中-下面將非常有用,並將根據列出的字段刪除重復的行
#standardSQL
SELECT AS VALUE ANY_VALUE(t)
FROM PRD.sites t
group by site,id ,site_desc,timestamp
having count(1) < 2
上方將僅顯示沒有重復的行(基於分組依據中的字段)
如果您寧願根據字段刪除重復項,請在下面使用
#standardSQL
SELECT AS VALUE ANY_VALUE(t)
FROM PRD.sites t
group by site,id ,site_desc,timestamp
如果您需要基於整個行進行重復數據刪除-您可以在下面使用
SELECT DISTINCT *
FROM PRD.sites
您可以嘗試使用臨時表
/* Get the data into a temp table */
SELECT * INTO #TempTable
FROM YourTable
/* Drop the columns that are not needed */
ALTER TABLE #TempTable
DROP COLUMN ColumnToDrop
/* Get results and drop temp table */
SELECT * FROM #TempTable
DROP TABLE #TempTable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.