Hej, Du kan inte räkna samma fält som du grupperar på: Det blir exakt samma fel om jag tar ett annat fält som jag räknar. Löste det <citat> Okej, man kanske kan, men är det särskilt meningsfullt? Blir det inte bara 1? Det blir inte alltid 1. Mer SELECT bekymmer
Ytterligare en sql-sats som funkar i access (hade dock bekymmer med den innan den funkade) som blir fel i mySQL
sql = "SELECT pID, count(pID) as CountPage FROM tblPageVisit WHERE visittime between '"
sql = sql & Firstdate & "' AND '" & Seconddate & "' GROUP BY pID ORDER BY count(pID) desc"
jag vill ha hur många gånger en sida ha fått en träff mellan två datum sorterade efter antalet träffar.
feltyp:
Invalid use of group function
/TomasSv: Mer SELECT bekymmer
<b>SELECT pID, count(pID) as CountPage ... GROUP BY pID</b>
Vill du räkna antalet poster med samma värde på pID?
<b>count(något annat fält)</b>Sv: Mer SELECT bekymmer
har nu
SELECT pID, count(visit) as CountPage ... GROUP BY pID ORDER BY count(visit) descSv: Mer SELECT bekymmer
felet i ORDER BY
SELECT pID, count(visit) as CountPage ... GROUP BY pID ORDER BY CountPage desc
innebär olika i access och MySQL. I access var jag tvungen att använda ORDER BY count(visit)
/TomasSv: Mer SELECT bekymmer
Du kan inte räkna samma fält som du grupperar på:
</citat>
Jo, det kan man.Sv: Mer SELECT bekymmer
Sv: Mer SELECT bekymmer
T.ex.
SQL>create table t1(c1 int,c2 int);
SQL>insert into t1 values(1,1);
SQL>insert into t1 values(1,2);
SQL>select c1,count(c1) from t1 group by c1;
C1
=========== ===========
1 2
1 row found
Det blir samma resultat som med count(*) frånsett de fall där c1 är null då count blir 0.