poostchi
poostchi

Reputation: 422

I have a mysql table contains lot's of records

I have a mysql table contains lot's of records. my table has a varchar field and a timestamp field. (I have one record for every minute)

I want to select records like this:

1,3,5,7,9,11,...

or 1,4,7,10,13,.. or something like this. I can get done it using php while function, but it is not a good solution. is there any mysql select parameter to get it exactly from mysql?

p.s: sorry for post title, this is the only title stackoverflow accept it.

Upvotes: 1

Views: 118

Answers (3)

Raging Bull
Raging Bull

Reputation: 18767

For selecting records like 1,3,5,7,9,11,etc. You can do this:

SELECT * 
FROM TableName
WHERE autoIncreamentField % 2

NB: Not necessary to check where clause against 0 or 1. It will select records if where clause returns 1. An example in Fiddle.

For records like 1,4,7,10,13,etc. You can do:

SELECT * 
FROM TableName
WHERE (autoIncreamentField % 3)=1

Upvotes: 1

vhadalgi
vhadalgi

Reputation: 7189

select * from table  where identity_column %2 <>0 -- to select 1,3,5,7,9...

and for your 2 condition do this !

select * from table where identity_column%3 =1 -- to select 1,4,7,10,13,....

Upvotes: 2

Aman Aggarwal
Aman Aggarwal

Reputation: 18479

select * from table order by rand() 

Upvotes: 0

Related Questions