eddy1Medlem sedan aug. 2001960 inlägg
Hej. har suttit många timmar idag med sql men blir tokig..
Jag vill alltså gruppera alla poster i en databas per dag, cellen "c_date" som innehållet datumet är i formatet DateTime.. ''
har provat med datepart men får det inte att funka, fick även detta förslag:
YEAR(c_Date) + MONTH(c_Date) + DAY(c_Date)
men det blir ju en skit konstig summa om det skrivs ut!
Så här ser koden ut nu, IGEN...
Select left(c_date,10), avg(oc) as av from (select count(*) as oc from Hits where id="& Session("id") &" and page_id="& Session("page_id") &" group by left(c_date,10)) dt;
dett averkar ju som om han inte ser skillnad på 2006-01-01 och 2007-01-01 ??
Mvh
PaceMedlem sedan juni 20015 947 inlägg
GROUP BY YEAR(c_date), MONTH(c_date), DAY(c_date)
eddy1 skrev:
dett averkar ju som om han inte ser skillnad på 2006-01-01 och 2007-01-01 ??
Är du säker på att det är en han? ;)
eddy1Medlem sedan aug. 2001960 inlägg
Fel av mig, jag vet inte hur det är hos er men min heter Lisa och är en hon..
så här blev koden i sql manager express..
Men det funkar ändå inte..
SELECT YEAR(c_Date) AS Expr1, MONTH(c_Date) AS Expr2, DAY(c_Date) AS da, COUNT(*) AS oc
FROM Hits
WHERE (Customer_ID = 3) AND (Page_ID = 1)
GROUP BY YEAR(c_Date), MONTH(c_Date), DAY(c_Date)
ORDER BY Expr1, Expr2, da DESC
detta ger ju fyra fält. JAg vill ju ha datum fältet samt antalet???
PaceMedlem sedan juni 20015 947 inlägg
Jag skrev aldrig att du skulle ändra fälten i din SELECT-sats. Bara GROUP BY.
eddy1Medlem sedan aug. 2001960 inlägg
jag har provat allt nu...
jag vill bara få till en sats som grupperar efter dagar och skriver ut antal??
Men inte går det...
denna funkar inte, men har jag "LEFT(c_Date, 10)" i group by så funkar det
SELECT LEFT(c_Date, 10) AS Expr1, COUNT(*) AS oc
FROM Hits
WHERE (Page_ID = 1) AND (ID = 3)
GROUP BY YEAR(c_Date), MONTH(c_Date), DAY(c_Date)
PaceMedlem sedan juni 20015 947 inlägg
eddy1 skrev:
denna funkar inte, men har jag "LEFT(c_Date, 10)" i group by så funkar det
Använd det då.
eddy1Medlem sedan aug. 2001960 inlägg
a det funkar ju bara halv bra, inget fel i sql satsen men man vet ju inte formatet på datumet så det är ju osäkert hur många tecken man ska använda till left??
Du har ju säkert rätt med ditt förslag för man ska ju använda datum funktioner..
Men
"GROUP BY YEAR(c_Date), MONTH(c_Date), DAY(c_Date)" är ju okey men för att använda den måste jag använda samma funktion i början på select satsen, alltså
"SELECT YEAR(c_Date), MONTH(c_Date), DAY(c_Date), Count(*) as cn"
annars får man felmeddelande...
Men skriver jag detta ändrar sql manager Express automatiskt till:
SELECT YEAR(c_Date) AS Expr1, MONTH(c_Date) AS Expr2, DAY(c_Date) AS Expr3, COUNT(*) AS oc
då ger ju detta 4 fält... Fan va lurigt detta var..
eddy1Medlem sedan aug. 2001960 inlägg
ÄR det´ta ej möjligt att lösa ?? tyckte ända det var en relativt enkel fråga men ändå inte x(
Peter SMedlem sedan dec. 20025 484 inlägg
SELECT convert(char(10), c_Date, 20) AS Expr1, COUNT(*) AS oc
FROM Hits
WHERE (Page_ID = 1) AND (ID = 3)
GROUP BY convert(char(10), c_Date, 20)
eddy1Medlem sedan aug. 2001960 inlägg
Fan,
Reeespect mannen!! det funkar!
Peter SMedlem sedan dec. 20025 484 inlägg