SELECT query with LIMIT and order by with WHERE condition checking using BETWEEN range
Now your table with some data is ready. We
will apply select command to our table ( name student ) and fetch all the records
SELECT * FROM `student`
My John Rob
all to get all the records from the table student. We have not placed any
restriction here and asked for all the fields with all the records. Now if we
want to restrict our results and get only name field from the table.
SELECT name FROM `student`
This will return only name field from the table. We can ask for more fields and all
field names we have to separate by comma. We can include as many field names we
want from a table.
SELECT name, class FROM `student`
My John Rob
Now we will go for bit more and restrict the
number of records we are getting. We are interested say in only 3 records. Our
command should return 3 records only. We will use SQL limit command. This will take
two parameters. One is the starting point and other is number of records
required. Say we are interested in 3 records starting from beginning. Our
command will be
command with LIMIT command will return us 3 records starting from 0 ( or first )
record. This is very important when we use this command with ORDER BY command.
Now let us try to list all the students who have come in first 3 ranks. We are
required to list here 3 records who have mark more than the others. The top 3
students we want to display in order of first, second and third. The order we
can display are in by default in ascending order but we require the listing
should return in descending order so we will get the highest ranked student at
the top. Before that let us start with a simple example of ORDER BY command.
We will change it to display in reverse order so it will display highest mark at the top and
lowest mark at the bottom.
SELECT * FROM `student` ORDER BY `mark` DESC
With the addition
of command DESC we can change the order of display to keep the highest mark at
the top of the list and lowest mark at the bottom of the list. Now let us add
the LIMIT command to display only the top 3 records. We already have the list in
the order of highest mark to lowest mark so by just limiting the number of
records to 3 will give our required top three student records.
SELECT * FROM `student` ORDER BY `mark` DESC LIMIT 0,3
This is the SQL query which will display top three students based on the mark
they scored. In the next section we will use sql WHERE clause to restrict or filter
Combining two columns and displaying them as one
We can use CONCAT function to combine two columns and displaying them as one column. For example we can combine first name and last name and display them as Name.
Sample code in PHP
We have to first connect to database using PHP PDO. Then we can display the records by looping. Here is the sample code to display 4 records. However any other query can be used and matching records can be displayed.
How to get ( select ) data from more than one table ?
how to get 200 characters/letters from a long description and to be followed by "..."
how to display data in database as table by some limit(first 10,first 20,all) using php
You can display by using above code or to display first 10 you can use LIMIT query. By adding Order by to the query you can display in the order of highest to lowest or alphabetically or in any other combination.
smo:::How to get ( select ) data from more than one table ?