webForumDet fria alternativet

Varför funkar inte denna kod?? ORDER BY, Group by

Databaser & SQLur Databashanterare & SQL

3 svar · 265 visningar · startad av znyder

Medlem sedan dec. 2002172 inlägg
Frågan#1
SET RStemp = MinCon.Execute("SELECT amne_ID as amne, nyaste_tid as datumet FROM forum WHERE titel LIKE '%" & Request.Form("sokning") & "%' OR meddelande LIKE '%" & Request.Form("sokning") & "%' GROUP BY amne ORDER BY datumet DESC")

Får detta felmeddelande:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'amne' as part of an aggregate function.
/newlmg/forum_sok.asp, line 342

Linjen 342 är koden.

Borde väl funka?!

Medlem sedan dec. 200012 464 inlägg
#2

Nej, det borde inte fungera. Varför har du med group by? Vad vill du ha för resultat?

Access tillåter inte korrelationsnamn i order by

SELECT amne_ID as amne, max(nyaste_tid) as datumet FROM forum WHERE titel LIKE '%" & Request.Form("sokning") & "%' OR meddelande LIKE '%" & Request.Form("sokning") & "%' GROUP BY amne ORDER BY  2 DESC

är kanske vad du vill ha.

Flyttas från ASP

Medlem sedan dec. 2002172 inlägg
#3

Exakt :)
Vad gör MAX() egentligen?

Medlem sedan mars 20034 471 inlägg
#4

znyder skrev:

Exakt :)
Vad gör MAX() egentligen?

Samma som den matematiska funktionen, dvs plockar ut det största värdet.

128 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)