[sql] SELECT wanneer ip / dag niet hetzelfde is

Pagina: 1
Acties:

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Zal maar meteen melden, ik ben nogal een beginneling wat betreft SQL, maar ik hoop dat er toch eventjes wat mensen zijn die mij willen helpen.

Ik wil uit een database wat records selecteren, maar die moeten alleen geselecteerd worden als de combinatie van YY:MM:DD en het ip nog niet vaker voor is gekomen:
code:
1
2
3
4
5
6
|     ip[varchar]    |  tijdstip[datetime]     |
+-----------------------+-----------------------------+
|    62.131.154.4    |    20020506140645     |
|    62.131.154.4    |    20020507175426     |
|    62.131.154.4    |    20020507180602     |
+-----------------------+-----------------------------+

zoals je ziet zijn er 2 record op 7 mei, waarbij het ip hetzelfde is. Nu is het de bedoeling dat maar 1 van die 2 record daadwerkelijk uit wordt gelezen.
Zelf had ik intussen zoiets:
code:
1
2
3
4
SELECT *
FROM linkCounter
GROUP BY ip,tijdstip(8)
//ORDER BY domein, root, pagina

Ik weet zowiezo eigenlijk niet zeker of tijdstip(8) goed werkt, maar op mysql.org las ik dat je TIMESTAMP(8) voor YY:MM:DD stond, vandaar.

Kan iemand mij een stapje verder helpen :?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Zoek eens naar distinct.

[search=select distinct]

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Ik ben inderdaad ook al met distinct aan het klooien geweest, maar dat wou ook al niet.
Als ik bijv.
code:
1
2
SELECT DISTINCT ('ip','tijdstip(8)')
......

doe, en vervolgens (als dit al werkt :?) van een record het veld 'root' opvraag, krijg ik geen resultaat (oftewel leeg)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Hmmmz, ik dacht ff.
DISTINCT mag niet eens idd, alleen by join geloof ik ofzo.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

tijdstip(8) :?

Doet iets met Cloud (MS/IBM)


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Op dinsdag 07 mei 2002 18:28 schreef D2k het volgende:
tijdstip(8) :?
eerdere post:
Ik weet zowiezo eigenlijk niet zeker of tijdstip(8) goed werkt, maar op mysql.org las ik dat je TIMESTAMP(8) voor YY:MM:DD stond, vandaar.
maar ik ondertussen nog wat zitten klooien en ben er nog steeds niet uit .. :S

  • jvreuls
  • Registratie: Januari 2002
  • Laatst online: 31-07 13:13
SELECT DISTINCT haalt de dubbele rijen uit je resultaat. Dus als je alleen het IP nodig hebt:

SELECT DISTINCT ip FROM linkCounter

Als de rijen niet hetzelfde zijn (door eventuele extra kolommen die je erbij selecteert) moet je zelf met een while-loopje ofzo ze eruit halen.

Circuits Online


Verwijderd

Op dinsdag 07 mei 2002 18:11 schreef r0bert het volgende:
Zal maar meteen melden, ik ben nogal een beginneling wat betreft SQL, maar ik hoop dat er toch eventjes wat mensen zijn die mij willen helpen.

Ik wil uit een database wat records selecteren, maar die moeten alleen geselecteerd worden als de combinatie van YY:MM:DD en het ip nog niet vaker voor is gekomen:
code:
1
2
3
4
5
6
|     ip[varchar]    |  tijdstip[datetime]     |
+-----------------------+-----------------------------+
|    62.131.154.4    |    20020506140645     |
|    62.131.154.4    |    20020507175426     |
|    62.131.154.4    |    20020507180602     |
+-----------------------+-----------------------------+

zoals je ziet zijn er 2 record op 7 mei, waarbij het ip hetzelfde is. Nu is het de bedoeling dat maar 1 van die 2 record daadwerkelijk uit wordt gelezen.
Zelf had ik intussen zoiets:
code:
1
2
3
4
SELECT *
FROM linkCounter
GROUP BY ip,tijdstip(8)
//ORDER BY domein, root, pagina
Wat levert die query op die je gemaakt hebt?
Pagina: 1