选择只有一半的记录通过名称

选择只有一半的记录通过名称

问题描述:

我有一个像下面选择只有一半的记录通过名称

名称 一个 一个 乙 乙 Ç Ç Ç Ç Ç Ç d d d 表D

我需要拿出如下

名称 一个 乙 Ç Ç Ç d d

+0

请说明您的具体问题或添加额外的细节,突显正是你需要的。正如目前所写,很难确切地说出你在问什么。请参阅如何提问页面(https://stackoverflow.com/help/how-to-ask)以获取帮助以澄清此问题。 –

+0

我需要出从表格中把基于name..if名称这是一个如表2点的时候,我需要证明1时相同的方式,如果名称C有6次,我需要表现出3倍 – Suraj

+2

@FatemehAbdollahei - 如果你知道问题是题外话,因为如果这个问题被关闭,然后你的编辑被批准(按顺序),请不要对其进行编辑,这个问题将进入审批队列中重新打开。 [您编辑](https://stackoverflow.com/review/suggested-edits/18059157)不停止的问题是题外话;你最好别管它。 –

您可以使用row_numbercount窗函数来获得一个正在运行的数量和每个值,分别总计数,然后对它们进行比较:

SELECT value 
FROM (SELECT value, 
       COUNT(*) OVER (PARTITION BY vale) AS cnt, 
       ROW_NUMBER() OVER (PARTITION BY value) AS rn 
     FROM mytable) t 
WHERE rn <= (cnt/2)