Pagina 1 van 1

select 2 dezelfde.

Geplaatst: 28 jun 2004, 18:41
door LazyTiger
ik ben bezig met iets te bouwen, echter ik zit eerst te denken hoe het moet.
ik heb een database met daarin een aantal namen.
de bedoeling is dat de namen die 2x staan weergegeven worden geselecteerd en worden weergegeven.
hoe doe ik dat echter met de select actie?

Geplaatst: 28 jun 2004, 20:00
door mosymuis
Ik weet niet of en hoe het direct in SQL kan (miss vragen op een gespecialiseerder forum?), maar in PHP kan je die resultaten wel filteren.

Sorteer binnen de query ze op naam met ORDER BY, en sla binnen een loop de naam op in $prev. Bekijk daarboven of $prev (die dus in de loop daarvoor is ingevuld) gelijk is aan de huidige naam, en of er dus een dubbele treffer is. Zo ja, sla hem dan op in $double[]. Ik stel me dat als volgt voor:

Code: Selecteer alles

$double = array();
$prev = '';
while ( $row = $db->sql_fetchrow($result) )
{
  $current = $row['name'];
  if ( $prev == $current ) $double[] = $current;
  $prev = $current;
}

Geplaatst: 28 jun 2004, 20:02
door LazyTiger
poeh... ik zal het eens proberen, klinkt lastig. :shock:

Geplaatst: 22 nov 2004, 12:52
door mosymuis
Ik weet nu hoe 't kan;

Code: Selecteer alles

SELECT *, COUNT(*) as aantal
FROM phpbb_smilies
GROUP BY smile_url
HAVING aantal > 1
ORDER BY aantal DESC;
Zo selecteer je alle smilies die meer dan 1 afkorting hebben.

Geplaatst: 22 nov 2004, 20:51
door LazyTiger
het project is al lang van de baan ;)

Geplaatst: 22 nov 2004, 20:53
door mosymuis
Dat geloof ik, maar het kan toch geen kwaad om dit te weten, of wel?