选择只有一半的记录通过名称
答
您可以使用row_number
和count
窗函数来获得一个正在运行的数量和每个值,分别总计数,然后对它们进行比较:
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)
请说明您的具体问题或添加额外的细节,突显正是你需要的。正如目前所写,很难确切地说出你在问什么。请参阅如何提问页面(https://stackoverflow.com/help/how-to-ask)以获取帮助以澄清此问题。 –
我需要出从表格中把基于name..if名称这是一个如表2点的时候,我需要证明1时相同的方式,如果名称C有6次,我需要表现出3倍 – Suraj
@FatemehAbdollahei - 如果你知道问题是题外话,因为如果这个问题被关闭,然后你的编辑被批准(按顺序),请不要对其进行编辑,这个问题将进入审批队列中重新打开。 [您编辑](https://stackoverflow.com/review/suggested-edits/18059157)不停止的问题是题外话;你最好别管它。 –