In mysql table info
i have :
Id , Name , City , date , status
I want to select all names from "info" Making the query
$query = mysql_query("SELECT name FROM info WHERE status = 1 ORDER BY id")
or die(mysql_error());
while ($raw = mysql_fetch_array($query))
{
$name = $raw["name"];
echo ''.$name.'<br>';
}
Well, the result is that it returns all the entries. I want to echo all the entries without duplicates.
Saying: under raw "name" we have inserted the name "John" 10 times.
I want to echo only one time.
Is this possible?
add
GROUP BY name
to your SQL Statment - this will only bring back one of each entry from the name column$sql="SELECT DISTINCT name FROM status =1 GROUP BY name ORDER BY name";
Change
to
Observe that
GROUP BY
was added. More about group by http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.htmlEdit:
for name with number of apparences try
It's pretty simple:
The SQL keyword
DISTINCT
does the trick.This works for me, returns the table names for a given database.
use GROUP BY name statement