COUNT() samtidigt som order by på alla fält?

Databaser & SQL

2 svar · 216 visningar · startad av Bengan

Medlem sedan juni 2000690 inlägg
Trådstart#1

Har just installerat MySQL och med hjälp av DBTools så gick det ju rätt smärtfritt att konvertera en Access-fil till MySQL. Men sen börjar problemen :)

Recordcount verkar lite kinkigt och vill tydligen ha objRec.CursorLocation = adUseClient men då får jag senare problem med "Inkompatibla typer" på True/False fält (tinyint(4))... (huh?!?)

Så tänkte använda COUNT istället men hur löser man det här:

SELECT COUNT(CatID), * FROM Cats WHERE ParentID=10 ORDER BY CatTitle ASC;

Provade även att ange alla kolumner som skall hämtas och utan order by men får ingen rätsida på det. Kanske GROUP BY, men hur?

Red/
En annan sak: Hur fixat man Access SELECT TOP 5 * i MySQL?

Medlem sedan juni 2000690 inlägg
#2

Öh, vänta nu här...
Ett True/False fält skall väl knappast vara tinyint(4)? Hmm, konverteringen var kanske inte så lyckad ändå ;)

Men vad skall det vara? Det skall alltså funka precis som Access vanliga True/False kryssruta, kanske nåt med Enum eller Set?

Typ: Enum('False','True')?

Medlem sedan juni 2000690 inlägg
#3

Tja, eftersom ingen jäkel svarar så får jag väl svara mig själv då...

Top 5 * var ju rätt simpelt:

SELECT * FROM tabell ORDER BY IDnr DESC LIMIT 0, 5;

Det andra problemet får jag väl helt enkelt använda CursorLocation = adUseClient och Recordcount...

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)