php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-12-2006, 20:05
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard 1 Tabelle - 2 Abfragen - UNION

Hallo,

habe eine Tabelle counter.

Nun möchte ich alle Einträge raussuchen, die von heute sind
und die selbe session haben. Also das jeder besucher nur einmal gezählt wird.

Aber wenn ich

SELECT * FROM counter WHERE datum LIKE '20061214%'
UNION
SELECT DISTINCT session FROM counter

abfragen will, dann kommt

#1064 - You have an error in your SQL syntax near 'UNION
SELECT DISTINCT session FROM counter LIMIT 0, 30' at line 2

Wie muß ich die Abfrage denn schreiben?
Hab jetzt schon fast alles durch.

ps:
Das sind die Spalten der Tabelle
id,
seite,
datum,
cookie,
anzahl,
referer,
port,
sprache,
browser,
host,
session,
ip
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-12-2006, 10:40
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Abgesehen von der Syntax ist UNION schon der falsche ansatz.

Zitat:
Nun möchte ich alle Einträge raussuchen, die von heute sind
und die selbe session haben. Also das jeder besucher nur einmal gezählt wird.
was denn jetzt?

SELECT * FROM counter WHERE datum LIKE '20061214%' AND session = 'x'

oder

SELECT DISTINCT session , ... FROM counter WHERE datum LIKE '20061214%'


BTW:
Code:
datum LIKE '20061214%'
Igitt!!!!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 15-12-2006, 10:42
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Vermutlich meint er eher: Alle von Heute, nach Session gruppiert, jeweilige Anzahl ggf. gezählt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-12-2006, 10:44
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ich kann ihn verstehen:
Wenn man nicht weiß, was man will,
kann man auch nicht wissen, wie es geht...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 15-12-2006, 17:26
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: 1 Tabelle - 2 Abfragen - UNION

Zitat:
Original geschrieben von martinm79

Nun möchte ich alle Einträge raussuchen, die von heute sind
und die selbe session haben. Also das jeder besucher nur einmal gezählt wird.
Was ist daran falsch ausgedrückt?

Nur wenn ich SELECT DISTINCT session benutze, dann kann ich ja nur die
session Spalte raussuchen. Ich möchte aber alle Spalten von heute haben.

Wen nicht UNION was/wie dann?
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #6 (permalink)  
Alt 15-12-2006, 17:33
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von wahsaga
Vermutlich meint er eher: Alle von Heute, nach Session gruppiert, jeweilige Anzahl ggf. gezählt.
He he... nach Session gruppiert?

Wenn ich die Daten nach Session gruppiere, zeigt er mir die gleichen Session mehrmals an, oder immer nur verschiedene und läst die doppelten weg?

Die Einträge kamen ja so zu stande.
1. Benutzer betritt index.php
2. Benutzer betritt info.php
3. Benutzer betritt anmelden.php

Und auf jeder Seite fügt er eine Zeile in die db counter mit allen Daten vom Benutzer. Mithilfe der Session kann ich ja die einzelnen Benutzer ja gut unterscheiden, deswegen muß ich die doppelten Einträge nicht alle anzeigen.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-12-2006, 22:18
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Definiere doppelte einträge.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 16-12-2006, 15:33
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab jetzt mal zum Beipspiel 4 Einträge aus dieser Datei genommen.
Als CSV dargestellt mit Simikolon als trennzeichen.

PHP-Code:
/*
id;  seite;  datum;  cookie;  anzahl;  referer;  port;  sprache;  browser;  host;  session;  ip  
30476;/home/index.php;20061216110701;1;1;;58375;;Python-urllib/2.1;web.efi-re.de;f994f643e6946762da254551cd3a6d78;195.226.187.21
30477;/home/feedback.php;20061216110701;1;1;;58376;;Python-urllib/2.1;web.efi-re.de;f994f643e6946762da254551cd3a6d78;195.226.187.21
30478;/home/kontakt.php;20061216110701;1;1;;58378;;Python-urllib/2.1;web.efi-re.de;f994f643e6946762da254551cd3a6d78;195.226.187.21
30479;/privat/index.php;20061216110701;1;1;;58382;;Python-urllib/2.1;web.efi-re.de;f994f643e6946762da254551cd3a6d78;195.226.187.21

*/ 
Und in der Spalte session sieht man, das alle Einträge von einem User/Crawler kommen.
Das meinte ich mit doppelten Einträgen.
Also will ich alle Einträge, die von dieser Session kommen, bei der Ergebnisaugabe nur
einmal anzeigen.

Deswegen wollte ich mittels UNION 2 Abfragen machen.
Einmal nach Zeitlichem Raum und das andere nach DISTINCT session.
Das ging aber nicht.
Hoffe Ihr versteht jetzt was ich meine.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #9 (permalink)  
Alt 16-12-2006, 16:09
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

aha, also doch nur pro session einen eintrag.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10 (permalink)  
Alt 16-12-2006, 16:23
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie gestalte ich denn die SQL Abfrage am besten?
Das Hauptproblem was ich habe, ist wenn ich DISTINCT session abfrage, denn kann ich immer nur die Session abfragen. Ich möchte aber alle Spalten in der Abfrage haben und nicht nur die einzelnen Sessions.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #11 (permalink)  
Alt 16-12-2006, 16:24
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Wer sagt das? Wo steht das? Wie äußert sich das?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #12 (permalink)  
Alt 16-12-2006, 16:50
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hat keiner gesagt, aber ich habe es angenommen, weil ich bei den Abfragen immer Fehlermeldungen bekamm.

Es äußert sich so.

Ich frage
SELECT DISTINCT session FROM counter

und er gibt mir alle session wieder. Aber auch nur die sessions, ist mir ja aber auch klar, weil ich ja nur nach session gefragt habe.

Wenn ich aber jetzt

SELECT datum, DISTINCT session FROM counter
abfrage, dann kommt eine Fehlermeldung.

#1064 - You have an error in your SQL syntax near 'DISTINCT session FROM counter

Wie muß ich denn die Abfrage verändert?
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #13 (permalink)  
Alt 16-12-2006, 16:56
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

naja, hauptsache du hast das schon gestern stur behauptet, dass es so wäre anstatt unsere tipps zu hinterfragen.

http://dev.mysql.com/doc/refman/5.0/en/select.html
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #14 (permalink)  
Alt 16-12-2006, 17:48
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
SELECT INTO OUTFILE 'session.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM counter 
Da füge ich noch meine WHERE abfrage ein und denn wird eine
csv Datei erstellt.
Diese Csv Datei lese ich denn in ein Array
und schließe die doppelten sessions Einträge aus.
Oder wie?

Und wenn ich das so mache,
denn liegt ja die Datei im data Ordner von mysql.
Wie komm ich da ran?
Denn muß ich die Datei temporär speichern das die Scripte daurauf zugreifen können oder wie?
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #15 (permalink)  
Alt 16-12-2006, 17:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

na hauptsache, da taucht auf einmal ne csv-datei auf und keiner weiß woher oder was das mit dem problem zu tun hat...

Was hat es damit zu tun? Tut mir leid, wenn ich heute ein bisschen ungeduldig bin...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

09.10.2020 palle_1977 | Kategorie: PHP
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
Erotik-Portal

Mit unsererem Erotik-Portal erhalten Sie ein komplettes Internetprojekt inklusive einer bedienerfreundlichem Administration sowie zahlreichen wichtigen Funktionen. Unser auf PHP und MySQL basierendes Script bietet Ihnen - und Ihren Besuchern - komfort

18.06.2020 ISD-Genthin | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:48 Uhr.