#sql-server #excel
Вопрос:
Я читаю Excel, в котором более миллиона записей и 29 столбцов, я читаю этот Excel, как если бы это была таблица в Microsoft SQL Server.
select * from [file $]
В этой таблице есть только категориальные поля, суммы и даты, в ней нет уникального идентификатора или дополнительных полей (я не могу создать или отредактировать таблицу). Из — за большого объема данных у меня возникла необходимость прочитать их в 2 блока.
Как я могу прочитать 1-е 50% , а затем остальные 50%
Я провожу тестирование с:
select top (50) percent *
from [file $]
order by name asc
с последующим:
select top (50) percent *
from [file $]
order by name desc
Но последняя строка будет повторяться, как я мог ее исключить?
Я читал, что в некоторых случаях он неправильно возвращает данные.
Я рассматриваю 2 блока по 50%, но их может быть любое количество. Я просто должен убедиться, что информация полна.
Любые комментарии будут очень полезны.
Спасибо,
Комментарии:
1. В частности, почему вам нужно читать его в двух блоках?
2. привет, они также могут находиться в большем количестве блоков, без проблем. Я просто хочу, чтобы сохранялась целостность информации. Если у вас есть какие-либо идеи, вы можете поделиться ими со мной. Спасибо,
3. В вашем вопросе упоминаются SQL Server и Excel. Ваш вопрос помечен как SQLite. Пожалуйста, отмечайте только тот инструмент, который вы действительно используете.
4. В чем конкретно проблема с чтением в одном большом блоке?
5. Короткий ответ таков: вы не можете. У вас нет уникального ключа, поэтому невозможно сформулировать запрос, который не будет считывать одни и те же строки.
Ответ №1:
Здравствуйте, спасибо за ответы, то, что я сделал, это прочитал его с vb.net по блокам, вот так: выберите * из [файл1 $ a3: 500000], затем [5000001: 1000000]