Toon posts:

Mysql probleem DISTINCT

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok ik heb een vet vaag probleem

na php.net en mysql.com geraad pleegt te hebben
kom ik er nog niet uit. in mijn script werkt DISTINCT gewoon weg NIET!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?
@mysql_connect("localhost","xxxxxxx","xx");
$query=@mysql_query("SELECT DISTINCT hostname,id,count FROM website.hits ORDER BY id ");
$total_visits=@mysql_num_rows($query);

echo "
<html>
<head>
<title>Hit stat's</title>
</head>
<body>
<table border=0 cellspacing=0 cellpadding=0 align=center>
 <tr>
  <td>Hostname:</td>
  <td>Amount of visit's</td>
 </tr>";

while($array = @mysql_fetch_array($query)) {

    $visitor_host=$array["hostname"];
    $visitor_query=@mysql_query("SELECT hostname,count FROM website.hits WHERE hostname='$visitor_host'");
    $visitor_count=@mysql_num_rows($visitor_query);

    if ( $bg=="bgcolor=\"#DDDDDD\"") { $bg="bgcolor=\"#EEEEEE\""; } else { $bg="bgcolor=\"#DDDDDD\""; }

    echo " <tr $bg>\n  <td>$visitor_host</td>\n  <td>$visitor_count</td>\n </tr>";
}

echo "
 <tr>
  <td collspan=2>&amp;nbsp;</td>
 </tr>
 <tr>
  <td>Total amount of visit's</td>
  <td>$total_visits</td>
 </tr>
</table>
</body>
</html>";

@mysql_close();
?>

Mijn vraag weet iemand iets over een mysqld bug naast versie 3.22.25 daarvan was het bekend. die de functie DISTINCT niet uitvoerd?

of kan iemand een/de fout in dit script herkennen?

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

move to /38

:)

"You're only as good, as what you did last week."


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 15-09 16:29
[forum=13] >> [forum=38]

Verwijderd

Topicstarter
hmm sorry d8 dat ik in goeie topic zat =)

Verwijderd

Topicstarter
hmmm ik weet het probleem nu.. nu nog een manier om het op te lossen :)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op maandag 12 november 2001 23:53 schreef dynom het volgende:
in mijn script werkt DISTINCT gewoon weg NIET!
En _wat_ precies werkt er niet?
SELECT DISTINCT hostname,id,count FROM website.hits ORDER BY id

zal heel braaf alle records teruggeven waarbij hostname, id en count gelijk zijn. (wat er over het algemeen niet zoheel veel zullen zijn, tenzij alle hostnames hetzelfde id en count hebben...)

Exact expert nodig?


Verwijderd

Topicstarter
en dat is najuist net het probleem..

ik wil alleen distinct selecteren op hostname. de rest dus niet. maar ik wil ze wel fetchen. (alle 3 de row's)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

misschien distinct(hostname) ?

Klaar voor een nieuwe uitdaging.


  • paulh
  • Registratie: Juli 1999
  • Laatst online: 22-06 15:30
Een GROUP BY op hostname wil ook nog wel eens helpen.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op dinsdag 13 november 2001 12:16 schreef dynom het volgende:
en dat is najuist net het probleem..

ik wil alleen distinct selecteren op hostname. de rest dus niet. maar ik wil ze wel fetchen. (alle 3 de row's)
:?
Misschien kan je even een voorbeeldje geven van de data die je terug wil hebben? Bedoel je zoiets als:
tweakers.net 16 11
tweakers.net 12 07
tweakers.net 09 11
fokzine.net 01 01
Indien je dit bedoelt heb je de code namelijk al.

Of meer iets als:
tweakers.net 09 11
fokzine.net 01 01
Als je dit bedoelt moet de database gaan kiezen. Bij tweakers.net zijn er namelijk 3 verschillende IDs die er gekozen kunnen worden. En databases kiezen niet want dat mogen ze niet, dus die geven foutmeldingen. Dan moet je gebruik maken van een Aggregate function o.i.d.

Verwijderd

Topicstarter
Op dinsdag 13 november 2001 12:29 schreef paulh het volgende:
Een GROUP BY op hostname wil ook nog wel eens helpen.
kijk daar had ik wat aan.. alles werkt nice..
ik wist dat de distinct fout gebruikt werd maar een group by
was het antwoord... ty!
Pagina: 1