Hilfe bei SQL Anfrage

absynthemind

Neuer Benutzer
Beiträge
2
Liebe Leute!

Ich benötige Hilfe bei einer SQL Anfrage (Gruppenarbeit für die Uni, absoluter Neuling). Handelt sich um diesen Code hier:

CREATE VIEW xxy AS (
SELECT x, x, xxy
FROM xxx, xxx, xxx
);
SELECT URL, TO_CHAR(date, 'yyyy/mm/dd'), COUNT(*) AS ANFRAGEN
FROM xxy
WHERE topic LIKE '%weather' OR topic LIKE '%temperature'
GROUP BY TO_CHAR(querytime, 'yyyy/mm/dd')
ORDER BY COUNT(*) DESC
;

Wir möchten uns quasi ausgeben lassen, nach welchen Websites an welchem Datum gesucht wurde (mit SQL Developer). Wenn ich den Code laufen lasse, zeigt er mir diese Fehlermeldung an:

ORA-00979: Kein GROUP BY-Ausdruck
00979. 00000 - "not a GROUP BY expression"
*Cause:
*Action:
Fehler in Zeile: 92 Spalte: 8

Lieben Dank schonmal!
 
Werbung:
1. Deine Platzhalter sind gelinde gesagt Mist. Dadurch wird es unnötig schwer deinen Code zu erfassen und zu verstehen.

2. URL wird weder gruppiert noch aggregiert:
Code:
SELECT URL, TO_CHAR(date, 'yyyy/mm/dd'), COUNT(*) AS ANFRAGEN

Code:
GROUP BY TO_CHAR(querytime, 'yyyy/mm/dd')

3. Das frisst nur Rechenpower. COUNT(*) liefert für jedes Tupel den gleichen Wert.
Code:
ORDER BY COUNT(*) DESC

Gruß
Hony
 
Danke für die Antwort erstmal.
Sorry, hier der korrekte Code ohne verwirrende Plathalter:

CREATE VIEW trauti2 AS (
SELECT URL, querytime, aoldata.DMOZ_categories.TOPIC
FROM aoldata.DMOZ_externalpages, aoldata.querydata, aoldata.DMOZ_categories
);
SELECT URL, TO_CHAR(querytime, 'yyyy/mm/dd')
FROM trauti2
WHERE topic LIKE '%weather' OR topic LIKE '%temperature'
GROUP BY (querytime, 'yyyy/mm/dd')
ORDER BY COUNT(*) DESC

;
 
Viel wichtiger...
Sicher das deine View funktioniert ? Meines Erachtens nach gibt das ganze ein kartesisches Produkt... sobald mehr als ein Datensatz in den Tabellen ist.
 
Werbung:
Zurück
Oben