![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
pbd22 (dush... (AT) gmail (DOT) com) writes: On Jan 31, 9:57*am, pbd22 <dush... (AT) gmail (DOT) com> wrote: I am working in SQL Server 2005 and want to break up a table of 1M rows into distinct results of 80,0000. I feel like this is basically use [database] select * from [table] where email_address like '%gmail.com' group by ???? I am messing up with the group by (if this is the right way to go). How do achieve this? Anybody? To people use this group any more? I am here! However, I only look in here about once a day. The traffic does not really warrant anymore. If you want speedy answers to your questioms, this is a busy place:http://social.msdn.microsoft.com/For...actsql/threads Although, a bit too many people answers questions that goes outside what they really know. Anyway, your problem is a little vague. What is the purpose with this division? And must the batches be exactly 80000 rows in size or can the number vary? -- Erland Sommarskog, SQL Server MVP, esq... (AT) sommarskog (DOT) se Links for SQL Server Books Online: SQL 2008:http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx SQL 2005:http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx |
#2
| |||
| |||
|
|
On Jan 31, 5:03 pm, Erland Sommarskog <esq... (AT) sommarskog (DOT) se> wrote: pbd22 (dush... (AT) gmail (DOT) com) writes: On Jan 31, 9:57 am, pbd22 <dush... (AT) gmail (DOT) com> wrote: I am working in SQL Server 2005 and want to break up a table of 1M rows into distinct results of 80,0000. Thanks both a bundle for your responses. Looks like there is life on planet Google Groups after all, much appreciated! The specifics is that we are doing email deployments but google is moving all of the email sent to gmail users to their spam boxes. As a result, we have to "chunk" the gmail users out of the total amount and send in manageable batches. We have figured that 80,000 per batch out of the total gmail users in the table is possible. And, Erland, to answer your question, I would prefer to turn this into a stored procedure we can use for the purpose of "chunking" email addresses. Accordingly, the number per batch should be a variable parameter. Bob, the table we are querying against is pretty simple. Essentially, it has one one column - "email_address" which is a varchar. Its data is about 1 million email addresses (but that number changes often). The result set table(s) should only have two columns, the count (INT) and the email_address (varchar). Please see below. The query I am trying to write is supposed to dump each result set (batch) to a text file in some folder on the hard drive. Each result set should have a count and the email addresses as columns. Something like this: RESULT 1: [COUNT] [EMAIL_ADDRESS] 1 name (AT) gmail (DOT) com 2 name (AT) gmail (DOT) com snip And so on up to the to total amount of the gmail addresses out of the original table. So, the statement should read something like this (pseudo code): select all distinct users |
|
from the master table where email_address like '%gmail.com' return in batches of N (such as 80,000) and write each batch to a text file on the hard drive. |
|
I hope I have explained myself well. Let me know if anything is unclear. Thanks a bundle for your help. SQL 2008 has some paging functionality builtin but you're using SQL 2005. |
#3
| |||
| |||
|
|
The specifics is that we are doing email deployments but google is moving all of the email sent to gmail users to their spam boxes. As a result, we have to "chunk" the gmail users out of the total amount and send in manageable batches. We have figured that 80,000 per batch out of the total gmail users in the table is possible. ... Bob, the table we are querying against is pretty simple. Essentially, it has one one column - "email_address" which is a varchar. Its data is about 1 million email addresses (but that number changes often). The result set table(s) should only have two columns, the count (INT) and the email_address (varchar). Please see below. |
![]() |
| Thread Tools | |
| Display Modes | |
| |