COUNT als getal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Vels

Johan Vels

12/02/2015 10:07:20
Quote Anchor link
Hoi Allemaal!

Gebruik de volgende code om een COUNT te doen op rij2

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$query
= "SELECT rij1, rij2, rij3, COUNT(*) as count
FROM tabel
GROUP BY rij2
HAVING COUNT(*) > 1"
;

$result = mysql_query($query) or die ("Fout in query: $query. ".mysql_error());

while ($rows = mysql_fetch_array($result))
{
$col++;

 echo " <tr class='gradeA'>
                          <td><span class='center'>
                            <input type='checkbox' />
                          </span></td>"
;

 echo "<td>"; echo $rows['rij1'];  echo "</td>";  echo "<td>"; echo $rows['rij2'];  echo "</td>";  echo "<td>"; echo $rows['rij3'];  echo "</td>";

mysql_free_result($result);

?>


Nu wil ik dat er achter elke rij komt te staan hoeveel duplicate records als een getal. Wil hiervoor GEEN extra rij maken in de database. Hoe zou ik dit kunnen doen?
Gewijzigd op 12/02/2015 10:09:35 door Johan Vels
 
PHP hulp

PHP hulp

21/12/2024 05:43:08
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 10:24:53
Quote Anchor link
Normaal selecteren we kolommen en geen rijen. Niet dat het programmatisch iets uitmaakt maar het kan verwarring scheppen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT col1, col2, col3, COUNT(*) as count
FROM tabel
GROUP BY col2
HAVING COUNT(*) > 1


Volgende vraag: Wanneer is een record een duplicate volgens jou?
 
Bart V B

Bart V B

12/02/2015 10:27:34
Quote Anchor link
Volgens mij is count een gereserveerd woord.
EDIT even gekeken maar blijkbaar is count geen gereserveerd woord.
Excuses..
Gewijzigd op 12/02/2015 10:29:54 door Bart V B
 
Johan Vels

Johan Vels

12/02/2015 10:39:15
Quote Anchor link
@Frank

Als in col2 dezelfde waarde meer dan 1 keer voorkomt wordt deze getoond. Dit werkt, maar nu wil dat er achter col2 komt te staan hoeveel deze dan voorkomt als getal dus bv. '2' of '3'
 
Ward van der Put
Moderator

Ward van der Put

12/02/2015 10:41:33
Quote Anchor link
COUNT is geen reserved word voor kolomnamen (en wordt hier zelfs als uitzondering genoemd), maar fraai is inderdaad anders.

De dubbele COUNT(*) kan eruit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT col1, col2, col3, COUNT(*) as total
  FROM tabel
  GROUP BY col2
  HAVING total > 1
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 11:23:44
Quote Anchor link
Ward van der Put op 12/02/2015 10:41:33:
COUNT is geen reserved word voor kolomnamen (en wordt hier zelfs als uitzondering genoemd), maar fraai is inderdaad anders.

De dubbele COUNT(*) kan eruit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT col1, col2, col3, COUNT(*) as total
  FROM tabel
  GROUP BY col2
  HAVING total > 1


Ward heeft je het antwoord gegeven lijkt mij?

Let wel even op: col1 en col3 geven waarschijnlijk een random waarde en zou je er dan beter uit kunnen halen.
 
Johan Vels

Johan Vels

12/02/2015 12:40:48
Quote Anchor link
Dank voor de reacties zal het aanpassen naar as total.

Maar volgens mij wordt de vraag niet helemaal goed begrepen

Ik wil dat er achter elk duplicate record dat nu getoond wordt hoe vaak col2 waarde dubbel voorkomt bij betreffend records.
 
Ward van der Put
Moderator

Ward van der Put

12/02/2015 12:44:13
Quote Anchor link
Met GROUP BY col2 groepeer je al op gelijke waarden in col2. De telling COUNT(*) as total meldt je dan hoeveel rijen dat zijn. Is total bijvoorbeeld 3, dan zijn er dus 3 rijen met dezelfde waarde in col2.
 
Johan Vels

Johan Vels

12/02/2015 12:49:48
Quote Anchor link
Super bedankt voor de uitleg Ward!

Heb hem door nu.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2015 14:06:54
Quote Anchor link
En zoals Frank aangeeft hebben de waarden van col1 en col3 na afloop een random waarde, omdat er verder geen verband is met de groepering op col2. (Laat deze dus weg!)

Als je van col1 en col3 ook wilt weten of hier waarden niet uniek zijn, dan zul je hier afzonderlijke queries voor moeten schrijven denk ik.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.