У меня есть таблица tb_FirstName
с одним полем FirstName
. Таблица содержит 100 миллионов ненулевых записей с большим количеством повторений, например. Джон встречается 2 миллиона раз. Различный счет FirstName
составляет более 2 миллионов.Выберите 1000 различных имен из 100 миллионов записей по стандарту sql
Как выбрать 1000 различные имена как можно быстрее, используя стандартный SQL?
настоящее время я использую следующие, но это
- Tsql
Может быть, не так эффективно, как это могло быть.
SELECT x.FirstName FROM ( SELECT FirstName, rnk = RANK() OVER (ORDER BY Firstname) FROM WHData.dbo.tb_DimUserAccount A GROUP BY FirstName ) x WHERE rnk <=1000
Вы могли бы найти это полезным http://stackoverflow.com/questions/595123/is -there-ansi-sql-alternative-to-the-mysql-limit-keyword, но могу ли я спросить, каково намерение иметь таблицу tb_FirstName, полную дубликатов? – bummi
@bummi этот вопрос является уменьшенным примером реальности - таблица фактически имеет 30 полей, но не нужно включать это в вопрос – whytheq
100MM имен? звучит как спам/база данных маркетинга личной информации ... не уверен, если вам помочь или нет –