webForumDet fria alternativet

Access 2003: Group by vid replace

3 svar · 352 visningar · startad av Mattias Nordin

Mattias NordinMedlem sedan dec. 20051 046 inlägg
#1

Hur gör jag för att köra group by på följande? Jag har sett att det går då jag har hittat en liknande fråga, men jag får inte till det.

 sql = "SELECT replace(replace(SalesAreaName.AreaName,' Direct',''),' reseller','') AS[FixedAreaName]    "&_
" FROM (SalesArea " &_
" inner JOIN SalesAreaName on SalesAreaName.SalesAreaName_ID = SalesArea.TerritoryAreaName_ID) "&_
" WHERE AreaType = 'Territory' "&_
" AND SalesArea.Inactive = 0 "&_
" ORDER BY FixedAreaName "

Output ser ut som:

Japan Pacific
Japan Pacific
America East
America East

och jag vill få listan att visa...

Japan Pacific
American East

:stud

LarsGMedlem sedan dec. 200012 465 inlägg
#2
select distinct ...
Mattias NordinMedlem sedan dec. 20051 046 inlägg
#3

Najs. Nedan funkar...

 sql = "SELECT DISTINCT replace(replace(SalesAreaName.AreaName,' Direct',''),' reseller','') AS[FixedAreaName]    "&_
" FROM (SalesArea " &_
" inner JOIN SalesAreaName on SalesAreaName.SalesAreaName_ID = SalesArea.TerritoryAreaName_ID) "&_
" WHERE AreaType = 'Territory' "&_
" AND SalesArea.Inactive = 0 "&_
" ORDER BY FixedAreaName "

Vad är skillnaden mellan distinct och group by?

emissionMedlem sedan dec. 19996 095 inlägg
#4

DISTINCT = returnera unika rader
GROUP BY = samla ihop de rader som har samma värden i de angivna GROUP BY-kolumnerna och utför beräkningar på dessa grupperingar, såsom MAX, MIN, COUNT, AVG...

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb