| Author | 
                                
                                 Topic  | 
                            
                            
                                    | 
                                         dogdaynoon 
                                        Starting Member 
                                         
                                        
                                        5 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2011-07-06 : 17:18:30
                                            
  | 
                                             
                                            
                                            | Using SQL Express on 64 bit Windows Server 2008 R2I have this statement: "SELECT * FROM table_name WHERE column_name LIKE "%$variable%" OR column_name LIKE "%$variable%" OR column_name LIKE "%$variable%" ORDER BY column_name LIMIT $variable, $variable;"But I am getting an error "Incorrect syntax near 'LIMIT'.  Any idea what the incorrect syntax is??? Any help would be appreciated.Thanks,dogdaynoon | 
                                             
                                         
                                     | 
                            
       
                            
                       
                          
                            
                                    | 
                                     GilaMonster 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    4507 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-06 : 17:21:12
                                          
  | 
                                         
                                        
                                          | That's MySQL syntax (LIMIT), not SQL Server syntax.What are you trying to do?--Gail ShawSQL Server MVP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     dogdaynoon 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-06 : 17:26:59
                                          
  | 
                                         
                                        
                                          | LOL that's so funny. I am trying to switch MySQL statements over to SQL. I also tried the same as above only with LIMIT $variable OFFSET $variable and got the same error.I am trying to return a list but only show x amount of results per page.It was working as MySQL but i am just starting out with this SQL stuff. I am using the sqlsrv drivers for php->SQL.Thank you for the quick response!  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     GilaMonster 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    4507 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-07 : 05:27:16
                                          
  | 
                                         
                                        
                                          | LIMIT is a MySQL keyword. It does not work in MS SQL Server at all, no matter what way around you write it.Paging's a much harder thing to do in SQL Server. Depending on version there may be some decent options. So what version of SQL Server--Gail ShawSQL Server MVP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     nigelrivett 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    3385 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-07 : 05:34:28
                                          
  | 
                                         
                                        
                                          | Put the code in a stored procedure and pass parameters.Not sure how your variables work but from your first post maybe something like"with cte as (SELECT *, seq = row_number() over (order by column_name) FROM table_name WHERE column_name LIKE "%$variable%" OR column_name LIKE "%$variable%" OR column_name LIKE "%$variable%") select * from cte where seq between $variable and $variable ORDER BY column_name"==========================================Cursors are useful if you don't know sql.SSIS can be used in a similar way.Beer is not cold and it isn't fizzy.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     dogdaynoon 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-07 : 14:08:15
                                          
  | 
                                         
                                        
                                          | @Gila Monster: SQL Express 2008 64 bit@Nigelrivet: I will look into your solution. I wil need to learn more about the following... cte, seq = row_number(), over(). Then maybe your answer will make a little more sense to me. Thanks for the replies. I won't be able to look at this again till next week. But i will certainly do some reading before my next post. dogdaynoon  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     dogdaynoon 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-13 : 17:22:44
                                          
  | 
                                         
                                        
                                          | "with cte as (SELECT *, seq = row_number() over (order by column_name) FROM table_name WHERE column_name LIKE "%$variable%" OR column_name LIKE "%$variable%" OR column_name LIKE "%$variable%") select * from cte where seq between $variable and $variable ORDER BY column_name"Well that seemed to work, but could you please explain to me what is happening at this point in the code SELECT *, seq = row_number()Thanks a bunch.dogdaynoon  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     GilaMonster 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    4507 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-13 : 17:50:11
                                          
  | 
                                         
                                        
                                          | * means all columns.The row_number is a built in function that assigns numbers to rows based on the ordering and partitioning you set.--Gail ShawSQL Server MVP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     dogdaynoon 
                                    Starting Member 
                                     
                                    
                                    5 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-13 : 17:51:44
                                          
  | 
                                         
                                        
                                          | Yeah i get the select * part... what is the "seq =" doing?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                       
                          
                            
                                    | 
                                     GilaMonster 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    4507 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2011-07-13 : 18:00:06
                                          
  | 
                                         
                                        
                                          Aliasing the column. It's the older, less preferred style. with cte as (  SELECT *, row_number() over (order by column_name) AS seq     FROM table_name WHERE column_name LIKE "%$variable%" OR column_name LIKE "%$variable%" OR column_name LIKE "%$variable%") select * from cte where seq between $variable and $variable ORDER BY column_name --Gail ShawSQL Server MVP  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                  
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 |